全局冻结和合并的疑惑(每日一练(22))

单选题
下列关于合并的配置相关内容,描述正确的是哪个?
A、merge_thread_count=0表示不允许进行并发的多线程合并
B、enable_manual_merge=true时即可以执行手动合并也可以执行自动合并
C、enable_manual_merge=false不允许手动通过命今来执行合并
D、enable_major_freeze=false表示不允许进行合并不论是手动合并还是自动合并
主要疑问是D选项查询官方文档enable_major_freeze用于设置是否开启自动全局冻结的功能,全局冻结和合并有关系嘛?

OceanBase中最简单的LSM Tree只有C0层(MemTable)和C1层(SSTable)。两层数据的合并过程如下:

  1. 将所有observer上的MemTable数据做大版本冻结(Major Freeze),其余内存作为新的MemTable继续使用
  2. 将冻结后的MemTable数据合并(Merge)到SSTable中,形成新的SSTable,并覆盖旧的SSTable
  3. 合并完成后,冻结的MemTable内存才可以被清空并重新使用

合并前要冻结内存

2 个赞

前后动作

1 个赞