所谓转储是从MemTable->minisstable 还是从MemTable~minorSSTable都算?
MemTable~minorSSTable都算
参考:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002014005
将MemTable 中的数据转存到SSTable 中的过程叫转储,MEMTABLE 冻结 写入磁盘生成Mini SSTable,这个叫 转储,MEMTABLE 不会直接生成minorSSTable,多个Mini SSTable会进行合并生成一个 minor sstable,同时 两个minor sstable也可以合并成一个大的 minor sstable,最终的形态是minor sstable和基线的SSTABLE 合并成一个新的 基线的SSTABLE
MEMORY TABLE是不能直接转储成 MINOR SSTABLE 所以这个描述是有问题的,只能生成MINI SSTABLE ,多个MINI SSTABLE 会生成 MINOR SSTABLE
没错,是一步一步来的。
早上学习报到
根据文档库中的信息,转储指的是将MemTable中的数据转存到SSTable中以释放内存的过程。具体来说:
-
在OceanBase数据库中,转储可以生成不同层次的SSTable,依据的是分层转储策略(参见转储管理概述 → 分层转储)。
-
当MemTable的数据量达到一定阈值时,它会被冻结,并直接Flush为L0层的Mini SSTable。因此,从MemTable到Mini SSTable的过程是转储的一部分(参见转储管理概述 → 分层转储)。
-
随着转储次数增加,多个L0层(Mini SSTable)会进一步根据写放大系数及SSTable个数进行内部Compaction动作,可能会上压到L1层,形成Minor SSTable。所以,从MemTable到Minor SSTable也属于转储过程的一部分,但这是经过了L0层之后的进一步处理(参见转储和合并概述)。
综上所述,在OceanBase数据库中,“转储”既包括从MemTable到Mini SSTable的过程,也涵盖了后续可能发生的从L0层到L1层的转换,即生成Minor SSTable的过程。不过通常所说的“转储”,更多是指前者,即MemTable到Mini SSTable的直接转换。对于后者,则更常被称为Compaction或者压缩操作。
检索到的文档如下:
66666
不错,学到了
兄弟,学的不错
大佬从钉钉群讨论到社区,学习氛围不错