OceanBase 的数据存储引擎基于以下哪种架构实现?

OceanBase 的数据存储引擎基于以下哪种架构实现?
A. B + 树
B. LSM-Tree
C. Hash 索引
D. 倒排索引
选择哪一个

3 个赞

B. LSM-Tree

B选项

1 个赞

学习了 谢谢大佬

2 个赞

B LSM-TREE

学习了

存储引擎LSM-Tree

OceanBase 的数据存储引擎是基于 B. LSM-Tree 架构实现的-1-2-7

:mag: 架构解析与特点

LSM-Tree 全称是 Log-Structured Merge Tree(日志结构合并树),相比传统的 B+ 树,它是一种对写入操作更友好的存储结构。OceanBase 选择这种架构来实现其高性能和高并发的写入能力-6-9

它的工作方式可以概括为“读写分离”和“延迟写磁盘”:

  1. 高效写入 :数据先写入内存 中的 MemTable,积累到一定阈值后,再批量顺序写入 磁盘。这个过程避免了传统数据库随机写入磁盘的性能瓶颈,极大提升了写入速度-4-7-9
  2. 数据组织 :磁盘上的数据分为两部分:
  • 基线数据 (SSTable) :只读的、定期合并生成的静态数据。
  • 增量数据 (MemTable / 转储的 SSTable) :新写入的可变数据-1-3
  1. 查询与后台合并 :读取时需要合并内存和磁盘中的多个版本数据,可能会带来一定的读放大问题-2-3。为此,OceanBase 后台会通过“合并”操作,定期清理过期数据(如墓碑记录)并整理文件结构,以维持查询性能-2

值得一提的是,在 LSM-Tree 架构基础上,OceanBase 也在其较新版本中扩展了对列存的支持,以更好地兼顾分析型查询,从而打造一套引擎同时支持事务(TP)和分析(AP)的 HTAP 能力-1-9

选B. LSM-Tree

6666