【赵渝强老师】OceanBase OBServer节点的存储层

1

OceanBase集群的数据库实例(OBServer)内部由不同的组件相互协作。逻辑上看,这些组件从底层向上由多租户层、存储层、复制层、均衡层、事务层、SQL层、接入层组成。

下面重点讨论一下OBServer的存储层。

image.png
点击这里查看视频讲解:【赵渝强老师】OceanBase OBServer节点的存储层

存储层以一张表或者一个分区为粒度提供数据存储与访问,每个分区对应一个用于存储数据的Tablet(分片),用户定义的非分区表也会对应一个Tablet。Tablet的内部是分层存储的结构,总共有四层:MemTable、L0层Mini SSTable、L1层Minor SSTable以及Major SSTable。DML操作插入、更新、删除等首先写入MemT able,待MemTable达到一定大小时转储到磁盘成为L0层Mini SSTable。L0层Mini SSTable个数达到阈值后会将多个L0层Mini SSTable合并成一个L1层Minor SSTable。在每天配置的业务低峰期,系统会将所有的MemTable、L0层Mini SSTable和L1层Minor SSTable合并成一个Major SSTable。

下图说明了OceanBase写入数据的过程。

2

注意:每个SSTable由若干个大小为2MB的定长宏块组成,每个宏块内部由多个不定长微块组成。

posted @ 2025-12-16 12:11  赵渝强老师  阅读(2)  评论(0)    收藏  举报