当前位置: 首页 > news >正文

金仓数据库永久增量备份技术原理与操作

  • 先用一张图说明一下常见的备份方式
    在这里插入图片描述
为什么需要永久增量备份

传统的数据库备份方案通常是间隔7天对数据库做一次全量备份(完整备份),每天会基于全量备份做一次增量备份,如此循环,这种备份方案在全备数据量过大场景下可能遇到如下问题:
每周的全量备份像一场“资源风暴”——磁盘I/O打满、业务响应延迟飙升,备份耗时长…
直到遇到永久增量备份,我才发现,原来备份可以如此“优雅”。今天,就带大家深入它的技术内核,看看它是如何用“一次全量+智能合并”颠覆传统逻辑的。


一、永久增量备份技术解剖

核心逻辑“用计算换存储,用合并替全量”

  1. 初始全量(Day 1)

    • 像给数据库拍一张“全景照片”,记录所有数据的初始状态。
  2. 每日增量(Day 2~7)

    • 只记录变化的数据或数据块,类似Git的差异提交。 金仓数据库支持文件级别的增量备份和块级别的增量备份
      • 举例:若一个1TB的数据库每天仅1%数据变化,增量文件只需约10GB。
  3. 智能合并(Day 8)

    • 最精彩的魔法:将Day 1的全量 + Day 2~7的增量合并为新的全量备份
    • 合并过程解析(伪代码逻辑):
      def 合并全量(old_full, increments):  new_full = old_full.copy()  for inc in increments:  new_full.apply_diff(inc)  # 将增量差异应用到旧全量  validate(new_full)           # 校验数据一致性  return new_full  
      

这里补充说明一下为什么需要做合并而不是持续只做增量备份,核心原因是增量备份越多,数据恢复的迭代恢复过程耗时会很长。
在这里插入图片描述

  • 优势总结
    • 新全量直接代表最新数据状态,后续增量只需基于它继续。
    • 旧备份链按需自动清理,清理后存储空间线性增长而非指数爆炸。
    • 无需对数据库进行全量备份,数据库资源消耗下降,业务影响大大降低 。

二、金仓数据库如何开启永久增量备份
  • 以金仓数据库KINGBASE (KingbaseES) V009R001C002B0014为例:
  • 在备份初始化时,可以选择是否开启永久增量备份
    控制参数:修改安装路径/Server/share/sys_backup.conf配置文件中的如下参数
    _continue_incr:是否启用永久增量备份功能,默认n,配置为y则代表开启永久增量备份功能。
    开启之后,定时任务中的全量备份动作,将变更为一次增量备份+合并备份集
# Continue Incr-Backup
# y means Incr-Backup will merge current backup-set and it's reference into one new FULL backup-set
#   merge into FULL applied in crontab-job by _crond_full_days
#   normal Incr-Backup applied in crontab-job by _crond_incr_days
# n means no merge
_continue_incr=n

在这里插入图片描述


其他配置和操作同普通备份配置一致
手动备份命令示例:

# 合并备份集,但是不移除旧的备份集
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --type=incr --merge_action=merge-no-delete backup# 合并备份集,并且移除旧的备份集
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --type=incr --merge_action=merge-and-delete backup

相关文章:

  • 如何清除windows 远程桌面连接的IP记录
  • 2025年5月通信科技领域周报(4.28-5.4):5G-A技术引领峰会通信 卫星通信加速全球化布局
  • Java socket获取gps定位
  • 【 Triton 教程】triton.heuristics
  • 2025 年数维杯数学建模B题完整论文代码模型
  • Vue 系列之:defineProps、defineEmits、...
  • Linux ifconfig命令详解
  • JavaSE核心知识点02面向对象编程02-03(抽象类与接口)
  • 数据中台建设系列(五):SQL2API驱动的数据共享与服务化实践
  • RAG优化知识库检索(1):基础概念与架构
  • 2025最新精选5款3DMAX建筑可视化插件
  • 【C/C++】为什么要noexcept
  • 不拆机查看电脑硬盘型号的常用方法
  • List<T>中每次取固定长度的数据
  • 数据结构与算法—顺序表和链表(1)
  • 互联网大厂Java求职面试:基于RAG的智能问答系统设计与实现
  • N6715C 基础型定制配置直流电源分析仪
  • 升级 Azure Kubernetes 服务群集的关键注意事项
  • C#学习——继承、封装、多态
  • 软件工程之面向对象分析深度解析
  • 国常会:研究深化国家级经济技术开发区改革创新有关举措等
  • 理财经理泄露客户信息案进展:湖南省检受理申诉,证监会交由地方监管局办理
  • 毕赣新作《狂野时代》入围戛纳主竞赛单元,易烊千玺舒淇主演
  • 独家丨刘家琨获普利兹克奖感言:守护原始的感悟力
  • 英国和美国就关税贸易协议条款达成一致
  • 马上评|比余华与史铁生的友情更动人的是什么