C对吗?题目:能够触发 OceanBase 小规模增量合并的场景有?()

能够触发 OceanBase 小规模增量合并的场景有?()

A. MemTable 满触发转储

B. 定时自动触发

C. 手动执行合并命令

D. 客户端登录连接

1 个赞

正确答案是:A、B、C

详细解析:

  • A. MemTable 满触发转储 (正确)
    当 MemTable 的使用量达到 memstore_limit_percentage * freeze_trigger_percentage 设定的阈值时,会触发 MemTable 的冻结(Freeze)并执行转储(Minor Freeze)。转储后,如果 L0 层(Mini SSTable)的数量达到一定阈值(由参数 minor_compact_trigger 控制),系统会自动触发 Minor Compaction,将多个 Mini SSTable 合并成一个新的 Mini SSTable 或 Minor SSTable14。
  • B. 定时自动触发 (正确)
    OceanBase 支持定时触发合并操作。虽然通常定时触发(默认凌晨2点,由 major_freeze_duty_time 参数控制)的是 Major Compaction,但系统也会根据自适应合并策略,分析分区统计信息(如增量数据行数、更新删除占比等),在满足条件时自动为特定分区调度自适应合并(包括 Minor Compaction)12。
  • C. 手动执行合并命令 (正确)
    OceanBase 提供了细粒度的管理命令,允许 DBA 手动触发合并。例如,可以通过执行 ALTER SYSTEM MINOR FREEZE 命令,在集群、Server、租户或 Replica 级别手动触发转储及后续的 Minor Compaction13。
  • D. 客户端登录连接 (错误)
    客户端的登录连接属于会话管理行为,不会触发底层的存储引擎合并操作。

可以手动触发,官方PPT有写

选择ABC
选项 A MemTable 满触发转储
当租户 MemTable 内存占用达到阈值,会触发冻结转储生成 Mini/Minor SSTable;当增量文件数量达到阈值,会进一步触发小规模增量合并(Minor Merge),是最常见的自动触发场景。
选项 B 定时自动触发
OceanBase 支持配置定时合并窗口(major_freeze_duty_time),系统会在业务低峰时段自动调度小规模增量合并,清理增量文件、回收多版本数据OceanBase。
选项 C 手动执行合并命令
管理员可通过 ALTER SYSTEM MINOR FREEZE 等语句手动发起小规模增量合并,用于运维主动清理增量文件、优化查询性能。


这怎么说?

这几种合并我还不太清楚区别

1 个赞

题目应该说的是Minor Compaction,这种属于小规模增量合并?那选AB?

1 个赞