OceanBase的LSM-Tree结构是什么?

OceanBase的LSM-Tree结构是什么?

2 个赞

OceanBase 的存储引擎基于 LSM-Tree (Log-Structured Merge-Tree,日志结构合并树) 架构。

简单来说,LSM-Tree 的核心思想是**“变随机写为顺序写”** 。它通过将数据分为内存中的增量数据磁盘上的基线数据 两部分,极大地提升了写入性能,并利用高压缩比降低了存储成本。

1 个赞

LSM-Tree(Log-Structured Merge-Tree,日志结构合并树)是 OceanBase 存储引擎的核心数据结构,也是其实现高性能、高吞吐、分布式事务的底层基石。

LSM-Tree 的本质是用「内存 + 磁盘」的分层结构,将随机写转化为顺序写,完美解决传统 B+ 树随机写性能差的痛点:

  • 内存层(MemTable):可变的有序跳表结构,承接所有写入请求,写操作是纯内存操作,性能极高。
  • 磁盘层(SSTable):不可变(Immutable)的有序文件,由 MemTable 满后顺序刷盘生成,彻底避免随机 IO。
  • 合并操作(Compaction):后台定期将多个小 SSTable 合并为大 SSTable,同时清理过期数据、合并重复数据,保证查询效率。
1 个赞