OceanBase 的数据修改(INSERT、UPDATE、DELETE)会先写入内存中的 MemTable,当 MemTable 达到一定阈值时会触发"转储(Minor Compaction)"。请问转储的作用是什么?

OceanBase 的数据修改(INSERT、UPDATE、DELETE)会先写入内存中的 MemTable,当 MemTable 达到一定阈值时会触发"转储(Minor Compaction)"。请问转储的作用是什么?

答案:
转储(Mini Compaction)将冻结后的 MemTable 数据持久化为磁盘上的 Mini SSTable,释放 MemStore 内存,防止内存耗尽阻塞写入;同时生成数据检查点,可回收对应的重做日志。转储仅持久化增量数据,不与基线 Major SSTable 做全量合并。多次转储产生大量 Mini SSTable 后,后台 Minor Compaction 会合并多个 Mini SSTable,减少 SSTable 文件数量,降低查询时 IO 开销,提升读性能OceanBase。