SequoiaDB 巨杉数据库备份功能支持全量备份和增量备份。全量备份过程中会阻塞数据库变更操作,即数据插入、更新、删除等变更操作会被阻塞,直到全量备份完成才会执行;增量备份过程中不阻塞数据库变更操作。
备份文件以备份名命名,一次备份会生成 .bak 和 .number 两种文件。
同一节点中,增量备份和全量备份存在如下关系:
用户可根据实际情况,对整个数据库集群或指定复制组进行全量备份。
启动 SDB Shell,并且连接到协调节点
> var db = new Sdb("localhost",11810)
执行全量备份
> db.backup({Name:"backupAll",Description:"backup for all"})
Note:
详细参数说明可参考 backup()。
启动 SDB Shell,并且连接到协调节点
> var db = new Sdb("localhost",11810)
执行全量备份
> db.backup({Name:"backupName",Description:"backup group1",GroupName:"group1"})
GroupName:指定需要备份的复制组名
增量备份需要保证日志的连续性和一致性,如果日志不连续,或日志 Hash 校验不一致,则增量备份失败。因此,周期性的增量备份需要计算好日志和周期的关系,以防止日志覆写。
启动 SDB Shell,并且连接到协调节点
> var db = new Sdb("localhost",11810)
执行增量备份
> db.backup({Name:"backupAll",Description:"increase backup data",EnsureInc:true})
EnsureInc:是否开启增量备份,默认为 false,不开启
用户可使用备份列表或 listBackup() 查看当前数据库的备份信息。