OceanBase索引的实现

OceanBase各种索引的底层实现是怎么样的呢?是使用B+树实现、哈希实现还是位图实现的呢?又或者是通过其他数据结构实现?

B+树 。。

局部索引和全局索引

分区表的局部索引和非分区表的索引类似,索引的数据结构还是和主表的数据结构保持一对一的关系,但由于主表已经做了分区,主表的每一个分区都会有自己单独的索引数据结构。对每一个索引数据结构来说,里面的键(Key)只映射到自己分区中的主表数据,不会映射到其它分区中的主表,因此这种索引被称为局部索引。
https://www.oceanbase.com/docs/community-observer-cn-0000000000161723

索引的使用

对于索引表,OceanBase 数据库存储时使用 MemTable 和 SSTable 来存储数据,其中 MemTable 使用的是 B+ 树结构,而 SSTable 使用的是宏块结构。在 MemTable 或者 SSTable 都按照上述扫描过程,扫描出相应的数据,而最终的数据行是由 MemTable 和 SSTable 的数据行融合成完整的数据行。
https://www.oceanbase.com/docs/community-observer-cn-10000000000449421

请问可以理解为MemTable存在于内存中,而SSTable存在于磁盘中吗?

可以。。。就是这个意思。mem → memory(内存) S → static(磁盘)

好的,谢谢!