OceanBase 底层存储结构用的是什么?

如题,OceanBase 底层存储结构用的是什么?和传统 B+ 树、LSM-Tree 有什么区别?直观解释

@论坛小助手

OceanBase 底层存储结构采用的是 LSM-Tree (Log-Structured Merge Tree) 架构。LSM-Tree 是一种专为优化写入操作而设计的特殊树结构。其核心思想是将写入操作首先记录在内存中的结构里,待到一定量后再异步批量写入磁盘,这样可以大幅减少磁盘 I/O 的次数,提高写入性能。

OceanBase 将数据分为基线数据(SSTable)和增量数据(MemTable)两部分,基线数据被保存在磁盘中,增量修改在内存中进行。当内存中的增量数据达到一定规模时,会触发增量数据与基线数据的合并,从而保证数据的一致性和完整性。

相比之下,传统的 B+ 树是一种平衡查找树,它将所有的数据组织成一棵树,每个节点都可以存放多个键值对。B+ 树在每次插入或删除操作时都会涉及到树的调整,可能需要频繁地读写磁盘,这在写密集型场景下会导致性能瓶颈。LSM-Tree 则通过将写入操作集中在内存中,减少了对磁盘的频繁访问,从而提升了写入性能。

更多信息请查看:

  1. 在您开始前
  2. OceanBase AP 核心特性
  3. 集群管理 FAQ
  4. 体验并行导入和数据压缩
  5. OceanBase 数据库概述