备考OBCP | OceanBase 的转储(minor freeze),主要作用是()
A. 合并多个 SSTable 生成大 SSTable,清理过期版本
B. 将 MemTable 内存中的增量数据固化到磁盘生成 SSTable
C. 清理磁盘上无用的备份文件
D. 做跨 zone 的数据同步
答案:B. 将 MemTable 内存中的增量数据固化到磁盘生成 SSTable
解析
OceanBase 存储引擎基于 LSM-Tree 架构,数据分为静态基线数据(SSTable)和动态增量数据(MemTable)。当 MemTable 的大小超过一定阈值时,就需要将 MemTable 中的数据转存到 SSTable 中以释放内存,这一过程就称为转储。
更细一点看流程:冻结是指将 Active MemTable 转化为 Frozen MemTable 的过程;转储则是将内存中 Frozen MemTable 持久化到磁盘上生成 mini sstable 的过程,生成后会释放掉 Frozen MemTable,是系统释放内存的重要手段。