发现一本不错的书籍,名叫《Build Your Own Database From Scratch》,也就是从零实现一个你自己的 SQL 数据库,书中有完整的代码演示,用 Go 语言实现。
大致看了下这本书,感觉还是非常不错的,内容主要分为了两个部分。
第一部分实际上是去构建一个基于磁盘的 KV 存储引擎,这里是使用的磁盘 B+ 树作为数据存储和组织的方式。 针对这一部分,也是循序渐进,分为了几个不同的 part,分别涉及到 B+ Tree 的大致结构,节点的插入、删除,以及数据查询,空闲列表等。
书中有完整的代码演示和丰富的图例,帮助理解。
第二部分,是在前面实现的 B+ 树 KV 存储引擎之上,去构建一个迷你的 SQL 数据库,当然支持的语法比较有限,只涉及到简单的一些 CRUD 的语法。
并且在 KV 之上支持了事务的特性,然后对数据表进行解析、存储,总体来说是一个比较完整的资料。 当然,唯一的缺点是这本书是英文的,没有中文版,但书中都是使用了一些专业性强的术语,并没有太多生僻的词句,理解起来应该不难。
本文分享自 roseduan写字的地方 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!