OB Mini 转储、Minor 合并、Major 合并触发条件及生产调优?

求教一个生产相关问题:
OceanBase 中 Mini 转储、Minor 合并、Major 合并分别的触发条件是什么?线上业务环境,一般如何调优,降低合并动作对业务读写的影响,麻烦大佬指点一二。

1. Mini Compaction(Mini转储)

触发条件: MemTable内存使用量达到 memstore_limit_percentage × freeze_trigger_percentage 时自动触发

  • V4.x默认 freeze_trigger_percentage=20%(V3是70%)
  • 手动触发:ALTER SYSTEM MINOR FREEZE

2. Minor Compaction(Minor合并)

触发条件: L0层Mini SSTable个数超过 minor_compact_trigger(默认2)时自动触发

  • 不能手动触发,完全由系统调度
  • 作用:减少SSTable个数,回收多版本数据

3. Major Compaction(Major合并)

触发条件:

  • 定时触发major_freeze_duty_time(默认02:00)
  • 自动触发:转储次数达到 major_compact_trigger(V4.x默认0=不自动触发)
  • 手动触发ALTER SYSTEM MAJOR FREEZE
  • 自适应合并:V4.2新特性,Buffer表墓碑记录达阈值时自动触发