G术时刻 | GBase 8a数据库在线备份技术原理之库级增备流程

0 阅读1分钟

南大通用GBase 8a(gbase database)数据库在线备份技术原理:

​库级增备流程

image.png

和全备的区别:
增加两个处理步骤:

  1. 从远端备份路径下的备份文件中获取上一个备份点表的元数据信息
  2. 对比表的当前元数据与上一个备份点的差异,确定本次增量备份的备份内容

流程:

  1. 开始库级备份
  2. 加库的读锁,避免备份期间库被删除
  3. 启动写时复制,备份期间不阻塞 DDL/DML
  4. 准备备份清单,获取库下所有表的列表
  5. 划分备份批次,由于库下的所有表可能会比较多,备份的时候会划分备份批次,一批次一批次的进行备份操作
  6. 获取一批次需要备份的表
  7. 每张表设置备份状态
  8. 获取上一次备份的表元数据
  9. 计算表的增量差异
  10. 执行表的元数据和数据备份,如果备份失败,会将失败的表写入失败列表中去,以便后续再进行尝试
  11. 完成备份后,将表设置为正常状态
  12. 重试失败列表中的表,尝试完成备份,重试 3 次,如还未完成,将记录为失败的表
  13. 重试完成后,设置表为正常状态
  14. 关闭写时复制
  15. 释放库的读锁
  16. 结束库级备份,生成一个库级备份的备份点