OBCP 每日一问!

下面哪些操作会触发 OceanBase 合并(Merge)相关行为()
A. 手动执行 major merge
B. SSTable 数量达到阈值
C. 定时触发合并
D. 普通 select 查询

答案:A、B、C

OceanBase 合并(Major Compaction)的触发方式主要有以下三种:

  • A. 手动执行 major merge :通过执行 ALTER SYSTEM MAJOR FREEZE 命令,或通过 OCP 控制台点击"发起合并",可以手动触发合并。

  • B. SSTable 数量达到阈值 :当转储(Minor Freeze)次数达到配置项 major_compact_trigger 设置的上限时,下一次转储会直接触发合并。本质上就是增量 SSTable 累积到一定数量后自动触发。

  • C. 定时触发合并 :系统默认每天凌晨 02:00 自动触发合并,该时间点可通过配置项 major_freeze_duty_time 修改。

  • D. 普通 select 查询 :普通的 SELECT 查询只是读取数据,不会触发合并。合并是由写入操作产生的增量数据累积到阈值、定时调度或手动命令来触发的,与读操作无关。

因此,A、B、C 三项都会触发合并行为,D 不会。