这里容易让人理解成一个memtable 一个分区。
在zone内,不是N个partition leader 对应一个unit规格(memstore,也就是memtable)吗?
一个分区对应一个 MemTable, 反过来就不对了。逻辑上 A->B 真 B->A 不一定真。
memstore 跟 memtable 不是对应关系。 memtable 所在的那个内存环境可以称之为 memstore 。memtable 会有很多。
有没有这块资料,就是memstore和memtable的对应关系,几乎看不到这块的资料。
我在想,如果一个资源单元所在的ob上有几千个leader(这个是可能存在的),需要对应几千个memtable,那memstore岂不是碎片化了?
MemStore 是 OceanBase 数据库中用于存储增量数据的内存结构,通过双索引结构(B+ Tree 和 Hash 索引)来提高读写性能
MemTable 是 OceanBase 数据库的内存存储引擎的一部分,用于存储最新的数据更新(插入、更新、删除)。当数据写入时,首先会进入 MemTable
MemStore 是 MemTable 的一部分
memstore是memory_size的默认50%,是一块内存区域。如果memstore还是memtable的一部分,那memtable和memory_size是啥关系?
MemStore
是MemTable
的内存管理单元,负责管理MemTable
的内存使用。MemStore
主要用于保存数据库的增量数据(即新写入的数据)。当MemStore
的内存使用达到一定阈值时,OceanBase会触发转储(Dump)操作,将MemTable
中的数据持久化到磁盘(SSTable),从而释放内存空间。