关于OceanBase大合并(Major Merge)说法正确的有?()

关于OceanBase大合并(Major Merge)说法正确的有?()

A. 合并后整合海量小SSTable,减少文件个数
B. 清理已删除、已更新数据的无效版本,释放磁盘空间
C. 合并期间会直接阻塞所有业务读写流量
D. 合理定期做大合并,可以有效提升整体查询性能

2 个赞

正确答案是:A、B、D

详细解析:

  • :white_check_mark: 选项 A (合并后整合海量小SSTable,减少文件个数) 描述正确
    参考材料指出,随着增量数据不断写入,转储产生的增量数据文件(Mini SSTable、Minor SSTable)会越来越多。合并(Major Compaction)会将所有的动静态数据做归并,从而减少 SSTable 的数量,减少读放大。
  • :white_check_mark: 选项 B (清理已删除、已更新数据的无效版本,释放磁盘空间) 描述正确
    参考材料明确说明,合并会将动静态数据做归并,失效的多版本数据删除,生成按照主键排序的新的基线 SSTable。同时,合并在生成新的基线 SSTable 时会对数据进行编码和压缩,降低磁盘空间。
  • :x: 选项 C (合并期间会直接阻塞所有业务读写流量) 描述错误
    虽然合并是一个比较重的操作,但 OceanBase 提供了多种机制来减少合并对线上业务的影响。例如,参考材料提到可以开启“轮转合并”(每次只对部分 Zone 进行合并),或者从 V4.2.0 版本开始支持“自适应合并”(自适应地调度合并任务,达到对用户无感知地解决相关场景可能导致的慢查询问题)。因此,它并不会直接阻塞所有的业务读写流量。
  • :white_check_mark: 选项 D (合理定期做大合并,可以有效提升整体查询性能) 描述正确
    参考材料指出,合并的作用是将动静态数据归一,消除失效的多版本数据,使磁盘数据按主键有序排列,从而提高查询的性能。最佳实践中一般期望在一天只做一次合并操作,并且控制在业务低峰期进行。
1 个赞

ABD
解析:
A:Major 合并将多层 SSTable 整合,减少文件,降低 IO 开销。
B:清理过期数据版本,回收磁盘占用。
C:错误,大合并不会阻塞全部读写,仅短暂分区锁,业务可正常运行。
D:减少文件层数,查询扫描文件变少,查询速度提升。

1 个赞