OceanBase V4 中 LSM-Tree 的分层转储机制是怎样的?相比 V3 有什么变化?
V4 采用 4 层 LSM-Tree 架构 :MemTable → Mini SSTable(L0) → Minor SSTable(L1) → Major SSTable(L2)。
分层转储流程:
- MemTable 冻结后直接 flush 为 Mini SSTable(L0) ,而非 V3 的直接生成 Minor SSTable。
- 当 L0 层 Mini SSTable 数量超过阈值(
minor_compact_trigger),触发 Minor Compaction ,将多个 Mini SSTable 合并为 Minor SSTable(L1)。 - 当转储次数达到
minor_freeze_times阈值,触发 Major Compaction ,将增量与基线合并为新的 Major SSTable(L2)。
相比 V3 的变化: V3 为 3 层架构(MemTable + Minor SSTable + Major SSTable),V4 新增 L0 层,将冻结数据先 flush 为 Mini SSTable,通过多层转储减少单次合并的数据量,降低写放大和合并耗时。