在数据库 OceanBase 3.0 峰会上,OceanBase 宣布正式开源,并成立 OceanBase 开源社区,社区官网同步上线,300 万行核心代码向社区开放。这些代码有一些多年变迁的遗迹,新人上手殊为不易。为了帮助大家理清头绪愉快上手,我们决定发布一系列的文章帮助大家理解 OceanBase 源码。希望通过这一系列的文章,能够让大家深入理解 OceanBase。
专栏作者介绍
杨志丰,花名竹翁,毕业于北京大学网络实验室,近十年来一直在从事分布式系统和数据库的研发工作。竹翁一直在阿里巴巴/蚂蚁金服自主研发的分布式关系数据库 OceanBase 团队从事研发工作,致力把这个设计先进的 HTAP 数据库系统打造成技术业内标杆、商业取得成功的核心基础设施。在 OceanBase 系统中,他先后负责 OceanBase 的 SQL 引擎,分布式主控模块,多模数据库方向等,也负责过 OceanBase 的数据库平台产品研发,近期在负责内核创新研发工作。竹翁对 C++、分布式系统原理、SQL 查询处理、事务处理、编译技术、工程效率等方面具有浓厚的兴趣。
您能获得什么
通过本系列的源码解读文章,您首先可以了解 OceanBase 数据库的基本原理,学到一个数据库是如何实现的。推而广之,您也可以把 OceanBase 的实现原理应用到其他数据库,这对您学习其他数据库也有帮助。其次,在熟悉了 OceanBase 的代码之后,如果有需要,您可以直接在未来的工作中使用我们的代码,或者为 OceanBase 贡献您的代码。
系列内容提要
首先,OceanBase 是品牌名,之后还会推出 OceanBase 其他产品的源码解读系列文章。本系列介绍 OceanBase 数据库的各大模块和实现原理,包括以下几篇文章:
- 整体架构介绍,包括 OceanBase 数据库包含哪些模块,以及这些模块的功能。
- 一条 SQL 的一生。主要介绍 OceanBase 数据库中一条 SQL 的执行流程,包括接收、处理、返回结果给客户端的过程。
- 分区的一生。主要介绍 OceanBase 数据库存储层的相关知识。
- 事务的一生。主要介绍 OceanBase 数据库事务的外部接口。
- 租户的一生。主要介绍 OceanBase 数据库多租户的特性。
- 虚拟表。主要介绍 OceanBase 数据库的虚拟表。
写在最后
这是 OceanBase 首次推出源码解读教程,我们不免有做得不够好的地方。如果您有任何建议或反馈,欢迎提出来帮助我们改善。我们的邮箱是 open_docs@oceanbase.com,欢迎来撩。如果您有什么特别想了解的,也请告诉我们。我们可能会在下期翻牌子噢~~当然阅读本系列文章和直接阅读源码的体感还是不一样的。本系列文章旨在帮助您更好地理解源码,但是却不能代替源码。如果想深入学习 OceanBase,欢迎阅读源码和参与贡献,OceanBase 社区在大门永远向爱好者敞开。