Gpbackup系列-1-GPBACKUP流程

                   GP 数据备份工具GPBACKUP流程说明

Gpbackup 是专门用来做gp数据库的并行数据备份工具。这里通过对整个备份流程了解该工具的原理。

  • 备份流程

流程说明:

1、第一步会对入参检查, 包括 日志级别、备份类型(如只包含数据、只包含元数据、增量)、包含或排的schema 、table , 包含或排除的表文件,备份配置文件、 是否压缩, 备份路径等入参进行判断。

2、第二步会备份前期准备,包括 设置日志级别、判断集群是否处于扩容状态、创建备份锁文件(时间戳)、初始化连接池、过滤 包含、排除 备份表选项, 以及在所有节点上创建备份目录,判断并解析插件配置、初始化备份报告等。

3、第三步对数据进行备份, 备份前首先会检索表包括哪些表、叶子分区,并过滤元数据、数据的分区类型,其次 会根据入参判断是备份 元数据还是 数据以及叶子分区亦或是 全局备份(其中 全局备份会把包括队列、分组、角色、权限、表空间、DDL、数据库配置参数等元数据一起备份, pre数据(包括 依赖对象、转换 、操作对象),post数据(包括 索引、规则、触发器)、统计数据), 数据 。

  • 备份对象
  1. 指定数据库备份时,备份其中的数据库对象包括 会话配置、schema、扩展语言、队列、命令、表、索引、DDL、函数、转化字段、类型、视图、角色、权限、统计信息等。
  2. 默认情况下备份全局对象,但默认不会恢复,需制定—with-globals, 可以通过 –without-globals 防止备份全局对象。全队对象包括 表空间、数据库、数据库级配置参数、资源组、资源队列、角色、权限。
  3. 不包含在备份中的schema: gp_toolit、information_schema、pg_aoseg、pg_bitmapindex、pg_catalog、 pg_toast、 pg_temp
  • 增量备份说明

当插入或修改数据时,gp_toolkit.__gp_aoseg 的modcount 会随操作的记录数增加,更新数据时并非正常更新记录值,而是将旧数据标记为删除,在插入新的数据。删除数据也会有数据记录。所以增量备份只对AO 表生效。堆表因为任意一个数据库都有可能变更,所以不能实现逻辑增量备份。

  • 备份限制
  1. 增量备份只对AO表起作用。
  2. 备份时会锁表,在备份期间删表会导致备份失败。
  3. 使用gpbackup创建备份时,只能还原到于源集群相同数量的segment实例的GP数据库集群。

  • 附录

参考文档:

1.备份日志及备份报告

2.gpbackup源码

3.http://docs-cn.greenplum.org/v6/admin_guide/managing/backup-gpbackup.html#topic_vh5_1hd_tbb

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值