学习MySQL,SQLite源代码,了解RDBMS的实现

Yan*_*ang 6 mysql database sqlite rdbms

我知道实现数据库是一个很大的主题,但我希望通过调查数据库系统的源代码,对数据库系统的工作方式有基本的了解(例如内存管理,二叉树,事务,sql解析,多线程,分区等).数据库.

由于有一些已经证明非常强大的开源数据库,如mysql,sqlite等.但是,代码非常复杂,我不知道从哪里开始.另外我发现旧的数据库教科书只是解释理论,而不是实现细节.

任何人都可以建议我应该如何开始,是否有任何书籍强调构建现代数据库行业中使用的dbms的技术和技术?

Jør*_*ode 1

我讨厌听起来像一个脾气暴躁的老学者,但如果您决心构建自己的 RDBMS,那么理论确实是您需要学习的内容。实现细节实际上只是,呃,实现细节。除了教科书之外,您可能还想研究研究论文,这些论文往往更详细地涵盖该主题。

当您开始实现数据库引擎时,您可以研究现有的开源实现,但预计学习曲线会很陡峭。正如您已经发现的,这些项目往往相当复杂。当您对这些项目有具体问题时,请尝试将其发布到相关邮件列表上。当您对自己的实现有具体问题时,请在此处发布:)