A. 增量备份仅备份自上次全量备份以来发生变更的宏块(Macro Block),通过对比数据块的 LSN(Log Sequence Number)来识别变更,从而减少备份数据量。
B. 增量备份必须基于最近一次的全量备份,不能基于上一次增量备份进行链式增量,因为链式增量会累积恢复复杂度。
C. 增量备份过程中,系统会扫描所有 SSTable 的微块(Micro Block)头部的 Checksum 来判断是否变更,因此增量备份的耗时与数据总量成正比。
D. 执行增量备份前必须确保已完成一次合并(Major Compaction),否则增量备份会退化为全量备份,因为未合并的数据无法识别变更。
2 个赞
解析 :
OceanBase 的增量备份基于宏块级别的变更追踪。每个宏块都有一个对应的 LSN(日志序列号),当数据发生变更时,宏块的 LSN 会更新。增量备份时,系统扫描所有宏块,仅备份 LSN 自上次备份以来发生变化的宏块,从而大幅减少备份数据量。增量备份可以与全量备份结合,形成全量+增量的恢复链。
-
A 正确 :增量备份以宏块为粒度,通过 LSN 识别变更块进行备份。
-
B 错误 :OceanBase 支持链式增量备份 ,即增量备份可以基于上一次增量备份,形成全量+增量1+增量2+…的备份链,恢复时按顺序应用。
-
C 错误 :增量备份扫描的是宏块级别 (2MB),而非微块级别(16KB),且变更识别基于 LSN 而非 Checksum,因此扫描效率较高。
-
D 错误 :增量备份不要求先执行合并 。即使 MemTable 中尚未刷盘的数据,其对应的宏块 LSN 也会记录变更,增量备份可以识别并备份这些变更。未合并不影响增量备份的正常进行。
3 个赞