本节主要介绍物理备份的方式及其架构。
物理备份
OceanBase 数据库提供了在线物理备份的功能,该功能由日志归档+数据备份两大子功能组成。日志归档持续的维护了租户产生的日志,数据备份维护了快照点的备份,两者结合可以提供恢复到备份位点之后任意时间的能力。
日志归档
OceanBase 数据库提供了租户级别的日志归档能力。
日志归档的工作由日志流的 Leader 副本负责。按照日志流备份日志,是 Log Entry 级别的物理备份。
日志归档的周期默认为 2 分钟,提供了准实时的备份能力。默认按 24 小时拆分目录的功能,方便用户对于备份数据的管理。
与之前版本(V3.x)的 OceanBase 数据库相比, V 4.0.0 的日志归档不再基于分区级别的日志管理,会大幅降低归档时候产生的IO次数,有效降低对备份介质的性能要求。
数据备份
OceanBase 数据库提供了租户级别的数据备份的能力。
数据备份的流程均由 RootService 节点调度,并按照日志流进程备份。备份数据包括分区的元信息和宏块数据。物理备份是指宏块数据的物理备份,元信息是内存序列化后的值。
OceanBase 数据库的基线宏块具有全局唯一的逻辑标识,这个逻辑标识提供了增量备份重用宏块的能力。在 OceanBase 数据库中,一次增量备份指的是全量元信息的备份 + 增量的数据宏块的备份。增量备份的恢复和全量备份的恢复在流程基本一致,性能上也没有差别,只是会根据逻辑标识在不同的 backup_set 之间读取宏块。
与之前版本(V3.x)的 OceanBase 数据库相比,V4.0.0 的数据备份去掉了数据快照点保留的依赖,在数据备份期间发起 Major Freeze 不会再造成 OBServer 空间的膨胀。
数据清理
OceanBase 数据库提供了当前配置路径下自动清理的功能,该功能由 RootService 定期检查用户配置的备份清理策略(DELETE BACKUP POLICY),从而删除不需要的数据备份。在删除数据备份的同时,系统会自动的根据保留的数据备份中最小的回放位点来删除不需要的日志归档。




