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

2024年 5月 7日 30.6k 0

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

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 社区在大门永远向爱好者敞开。

最后的最后:如果您有任何疑问,可以通过以下方式与我们进行交流:

钉钉群:33254054

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

微信群:扫码添加小助手,将拉你进群哟~

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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论