写点什么

OceanBase 存储层代码解读(一)引言

发布于: 刚刚

OceanBase 是一个金融级分布式关系数据库,在经过多年的双十一大促和大规模商用场景的考验后,于 2021 年 6 月份正式 开放源代码


开源范围包含数据库内核、分布式组件和接口驱动,并提供完整的 SQL 引擎、事务引擎和存储引擎,支持多副本、分布式事务、高性能、扩展能力、故障恢复、优化器、多活容灾、语法兼容等核心技术,共有 300 万行的核心代码。


为了帮助大家更好的理解 OceanBase 开源代码存储层的实现,OBKV 团队计划推出一系列的博文,做一个存储层源码解读的专栏,同时也基于这样的一个渠道,和大家更畅快的交流讨论数据库存储技术。


专栏作者介绍

我们是 OBKV 开发团队,由锡林、颂乐、公祺、力虾、飞驰等小伙伴组成,我们的技术栈主要包括多模型数据库、分布式存储、数据库高可用技术、后端服务器开发等方面。OBKV 是基于 OceanBase 构建的分布式 NOSQL 数据库,OBKV 的代码后续也会慢慢开源出去。


你能获得什么

通过本系列的存储层源码解读文章,您可以了解到 OceanBase 存储层的具体代码实现、背后的设计思路,以及深层的思考,这对您学习其他数据库也有帮助。


其次,在熟悉了 OceanBase 存储层代码之后,如果有需要,您可以直接在未来的工作中使用我们的代码,或者为 OceanBase 贡献您的代码。


系列内容提要

本系列的内容主要集中在 OceanBase 存储层的代码解读,主要包括如下几篇文章:

1.微块的存储格式:微块编码格式代码解读。

2.宏块的存储格式:宏块在存储层的作用和编码格式。

3.SSTable 的存储格式:SSTable 的组织形式,以及和分区的关系。

4.宏块的回收原理:SSTable 中不再使用的宏块是怎么回收的。

5.Dag 调度器原理:有向无环图任务调度模型。

6.Compaction 的实现:包括各级 SSTable 的转储、合并的实现。

7.Redo log 的实现原理:Redo log 的作用及实现。

8.其他相关内容。


写在最后

如果您对我们的文章任何建议或反馈,欢迎提出来帮助我们改善。我们的邮箱是 open_docs@oceanbase.com,欢迎来撩。

如果您有什么特别想了解的,也请告诉我们。

我们可能会在下期翻牌子噢~~

当然阅读本系列文章和直接阅读源码的体感还是不一样的。

本系列文章旨在帮助您更好地理解源码,但是却不能代替源码。如果想深入学习 OceanBase,欢迎阅读源码和参与贡献,OceanBase 社区在大门永远向爱好者敞开。


最后的最后:

如果大家有任何疑问,可以通过以下方式与我们进行交流:

测试遇到问题?企业用户想享受技术顾问的免费一对一咨询服务?

快加入 OB 创计划→

https://open.oceanbase.com/articles/8000125?sou0c001

钉钉群:33254054

今日之星,明日之星都不如你留下的星星(⭐️️)

我们想让 Github 上优质的开源项目被更多人看到。

文档都是我们精心整理。如果有帮助的话求个 star(◕ᴗ◕✿),鼓励鼓励我们哟!

也欢迎大家给我们 issue,请点击 这里。运营小姐姐在此跪谢️️ ❥(^_-)

欢迎大家一起参与社区贡献,指南请参考看 这里

社区答疑:请点击 这里

发布于: 刚刚阅读数: 2
用户头像

OceanBase 社区版 2020.05.06 加入

github:https://github.com/oceanbase/oceanbase 欢迎大家

评论

发布
暂无评论
OceanBase 存储层代码解读(一)引言