人大金仓分析型数据库备份和恢复(一)

news2024/11/29 4:27:56

目录

前言

备份和恢复概述

并行备份

非并行备份

需求和限制


前言

        定期执行备份能确保在数据损坏或者系统失效发生时能恢复数据或者重建数据库系统。用户还可以使用备份从一个数据库系统迁移数据到另一个数据库系统。


备份和恢复概述

        数据库支持并行和非并行的方法来备份和恢复数据库。 并行操作的规模不受系统中实例数量的影响,因为每台主机都同时把其数据写入到本地的磁盘存储上。 如果使用非并行备份和恢复操作,数据必须通过网络从实例被发送到master,后者把所有的数据写入它的存储中。除了把I/O限制在一台主机上之外,非并行备份要求master拥有足够的本地磁盘存储以保存整个数据库。

并行备份

        gpbackup和gprestore是数据库的备份和恢复工具。 gpbackup在每个独立的表级别使用ACCESS SHARE锁,而不是在pg_class表里加EXCLUSIVE锁。 这使得你可以在备份期间执行DML语句, 如CREATE,ALTER,DROP和TRUNCATE操作,只要这些操作没有执行在备份的数据上。默认情况下,gpbackup仅在数据库master数据目录中存储备份的对象元数据文件和DDL文件。数据库节点使用COPY ... ON SEGMENT命令将备份表的数据存储在位于每个节点的backups目录中的压缩CSV数据文件中。元数据备份文件包含gprestore并行恢复完整备份集所需的所有信息。 备份元数据还提供了在gprestore的未来版本中仅用于还原数据集中的单个对象以及任何依赖对象的框架。将表数据存储在CSV文件中还提供了使用其他恢复工具(如gpload)在同一群集或其他群集中加载数据的机会。 默认情况下,为节点上的每个表创建一个文件。 您可以使用gpbackup指定--leaf-partition-data选项,以便为分区表的每个叶子分区创建一个数据文件,而不是单个文件。 此选项还允许您按叶分区筛选备份集。

        每个gpbackup任务都使用数据库中的单个事务。 在此事务期间,元数据将在master主机上备份,并且每个节点主机上的每个表的数据将使用COPY ... ON SEGMENT命令并行写入CSV备份文件。 备份进程在备份的每个表上获取ACCESS SHARE锁。

非并行备份

        pg_dump和pg_dumpall非并行备份工具可以用来在master主机上创建一个单独的,包含所有节点数据的dump文件。非并行工具应该在特殊场合使用。 它们比使用gpbackup工具要慢得多,因为所有数据都必须通过master。 此外,通常情况是master主机没有足够的磁盘空间来保存整个分布式数据库的备份。pg_restore工具需要pg_dump或pg_dumpall创建的压缩dump文件。 在开始还原之前,应修改dump文件中的CREATE TABLE语句以包含DISTRIBUTED子句。如果您不包含DISTRIBUTED子句,数据库会分配默认值,这可能不是最佳值。使用并行的备份文件来做一个非并行的恢复,可以从每个实例节点拷贝备份文件到master节点,然后通过master加载它们。

        备份数据库数据的另一种非并行方法是使用COPY TO SQL命令将数据库中的全部或部分表复制到master主机上的文本文件。

需求和限制

        gpbackup和gprestore有如下限制:

  • 如果在父分区表上创建索引,则gpbackup不会在父分区的子分区表上备份相同的索引,因为在子分区上创建相同的索引会导致错误。但是,如果您交换分区,则gpbackup不会检测到交换分区上的索引是从新父表继承的。 在这种情况下,gpbackup备份冲突的CREATE INDEX语句,这会在还原备份集时导致错误
  • 可以执行gpbackup的多个实例,但每次执行都需要不同的时间戳
  • 数据库对象过滤目前仅限于schema和表
  • 如果使用gpbackup --single-data-file选项将表备份组合到每个节点的单个文件中, 则无法使用gprestore执行并行还原操作
  • 不能将--exclude-table-file与--leaf-partition-data一起使用。 虽然可以在使用--exclude-table-file指定的文件中指定叶子分区名称,但gpbackup会忽略分区名称
  • 在运行DDL命令的同时使用gpbackup备份数据库可能会导致gpbackup失败。如果gpbackup尝试获取表上的锁时表不再存在,则gpbackup将退出并显示错误消息。对于可能在备份期间删除的表,可以使用gpbackup表过滤选项(例如--exclude-table或--exclude-schema)从备份中排除表
  • 使用gpexpand创建的备份只能还原到与源集群具有相同数量的节点实例的数据库集群。 如果运行gpexpand将节点添加到集群,则在扩容完成后无法恢复在扩容之前所做的备份

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/992105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

监控系统部署prometheus基本功能

wget -c https://github.com/prometheus/prometheus/releases/downloa d/v2.37.1/prometheus-2.37.1.linux-amd64.tar.gz下载必要的组件。 mkdir -p /opt/prometheus创建目录。 tar zxf prometheus-2.37.1.linux-amd64.tar.gz压缩文件解压至当前目录下,cp -far pr…

windows10使用wheel安装tensorflow2.13.0/2.10.0 (保姆级教程)

安装过程 安装虚拟环境安装virtualenv安装满足要求的python版本使用virtualenv创建指定python版本的虚拟环境 安装tensorflow安装tensorflow-docs直接下载使用wheel下载 在VSCode编辑器中使用虚拟环境下的包常见错误 注意: tensorflow 2.10.0是最后一个支持GPU的版本…

JavaSE【 String 类】(2)(

一、字符串的不可变性 1.String本身不可变 字符串修改 注意:尽量避免直接对 String 类型对象进行修改,因为 String 类是不能修改的,所有的修改都会创建新对象,效率 非常低下。 public static void main(String[] args) {/*** S…

AutoCAD Civil 3D中文本地化模板下载及设置

安装AutoCAD Civil3D后默认使用的是其自带的公制模板,其中各种标签、样式均不符合我们国内的标准,因此必须使用本地化地制图模板。参照本文说明完成模板的设置。 模板下载 链接:https://share.weiyun.com/5nhj0Fw 密码:njwxw8 也…

Revit SDK 介绍:NewForm 新建体量

前言 这个例子介绍如何新建体量。 内容 图形生成效果。 用 Extrusion 创建体量 // 创建一个轮廓 ReferenceArray ref_ar new ReferenceArray(); // 创建三条直线,并放入轮廓 Autodesk.Revit.DB.XYZ ptA new Autodesk.Revit.DB.XYZ(10, 10, 0); Autodesk.Rev…

【c++每天一题】 字符串压缩

字符串压缩 时间限制:C/C 1000MS,其他语言 2000MS 内存限制:C/C 128MB,其他语言 256MB 难度:简单 分数:100 OI排行榜得分:12(0.1*分数2*难度) 描述 给定一个字符串,将连续相同的字符…

HI3559A DMEB试玩

HI3559A DMEB试玩 1、 不支持himm命令2、 默认ip设置3、 设置登录密码4、 不支持telnet登录5、 不支持ftp7、 命令行的现实格式修改9、 IIC例程不通10、 HI3559a从emmc启动,文件系统变为只读11、 驱动加载12、 官方例程中SENSOR不出图 最近需要使用3559来&#xff0…

程序员常用的27款开发工具以及年度各方向的工具

一、Java 线上诊断工具 Arthas 工具的使用场景: 1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 3、遇到问题无法在线…

Redis I/O多路复用机制

1. 多路复用要解决什么问题 并发多客户端连接场景,在多路复用之前最简单和典型的方案:同步阻塞网络IO模型。 这种模式的特点就是用一个进程来处理一个网络连接(一个用户请求),比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上读取数…

vue3+ts 分享海报

安装依赖1. npm install html2canvas --save<div class"flex-box"><div><div v-for"(item,index ) in from.list" :key"index" click"actvieFuntion(index)"><div>{{item}}</div><div :class"…

算法训练营day46|动态规划 part08:完全背包 (LeetCode 139. 单词拆分)

139. 单词拆分 (求排列方法) 题目链接&#x1f525;&#x1f525; 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明&#xff1a; 拆分时可以重复使用字典中的单词。 你可以假设字典中没…

AIGC之文本内容生成概述(下)—— GPT

GPT&#xff08;GenerativePre-TrainedTransformer&#xff09; 提到GPT模型&#xff0c;就不得不说众所周知的ChatGPT模型&#xff0c;ChatGPT的发展可以追溯到2018年&#xff0c;当时OpenAI发布了第一代GPT模型&#xff0c;即GPT-1&#xff0c;该模型采用Transformer结构和自…

Tableau自学四部曲_Part2:数据连接可视化原理

文章目录 一、数据连接1. 连接类型2. 连接方式3. 提取方式4. 连接筛选5. 保存类型6. 数据处理7. 理解本文的数据 二、可视化原理1. 做个小实验2. 数据是如何变成图表的&#xff1f;&#xff08;1&#xff09;数据变成图表的过程&#xff0c;就是用数据映射到视觉图形的过程&…

180B参数的Falcon登顶Hugging Face,最好开源大模型使用体验

文章目录 使用地址使用体验 使用地址 https://huggingface.co/spaces/tiiuae/falcon-180b-demo 使用体验 相比Falcon-7b&#xff0c;Falcon-180b拥有1800亿的参数量&#xff0c;在智能问答领域做到了Top 1。在回答问题的深度和广度上都明显优于只有70亿参数量的Falcon-7b&…

容器编排学习(二)镜像制作和私有仓库介绍

一 Dockerfile 1 概述 commit的局限 很容易制作简单的镜像&#xff0c;但碰到复杂的情况就十分不方便例如碰到下面的情况需要设置默认的启动命令需要设置环境变量需要指定镜像开放某些特定的端口 Dockerfile就是解决这些问题的方法 Dockerfile是一种更强大的镜像制作方式…

蓝牙方案|伦茨科技最新ESL蓝牙电子价签方案

随着电子货架标签市场无线标准的发布&#xff0c;蓝牙技术将协助零售业进行下一阶段的数字化转型&#xff0c;为商店和购物者提供更好的消费体验。电子货架标签提供了精准的自动定价&#xff0c;并增加了对实时促销和产品信息的访问&#xff0c;提供更令人满意且整合的全渠道体…

如何用Java编写代码来等待一个线程join()??

笔者在前面几篇文章中详细的讲解了&#xff1a;线程and进程的区别及其各种对比&#xff0c;如何中断一个线程等文章&#xff0c;接下来本篇文章主要讲解&#xff1a;用Java编写代码来等待一个线程join()&#xff1f;&#xff1f; 线程之间是并发执行的&#xff0c;操作系统对于…

清华开源LLM中英双语对话语言模型ChatGLM2,效果能赶超ChatGPT?

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数.ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,其第二代继承了第一代的优秀特点,并在第一代的基础上,更新了更多的新特性。 更强大的性能: C…

C语言——程序环境和预处理(再也不用担心会忘记预处理的知识)

了解程序环境和预处理 前言&#xff1a;一、程序环境二、编译链接2.1 翻译环境2.2 编译的几个阶段2.3 运行环境 三、预处理3.1 预定义符号3.2. #define的使用3.2.1 #define 定义标识符3.2.2 #define 定义宏3.2.3 #define 替换规则3.2.4 #和##的用途3.2.5 带副作用的宏参数3.2.6…

数据结构大作业 成绩分析c语言程序设计

界面加载 界面展示 成绩输入 求平均成绩 升序排列 降序排列 名字排序 按名字搜索 按ID搜索 每门课成绩分析 成绩单展示 -