推荐教程—Build A Simple Database

2022-11-21 20:01:23 浏览数 (1)

最近在学习 C 语言,偶然看到了一个 Let`s Build A Simple Database 的教程,瞬间吸引了我的兴趣。

教程地址:https://cstack.github.io/db_tutorial/

然后简单了解一下,这个教程就是实现一个类似 SQLite 的嵌入式关系型数据库,但是比 SQLite 更加轻量,旨在体现它的核心思想,并且让我们了解一下数据库的基本实现原理,例如内存数据结构、解析器、磁盘存储等,麻雀虽小五脏俱全。

正如作者开篇所说:

这个教程由 13 篇文章组成,前面 6 篇的内容比较简单,主要就是将固定格式的数据解析,然后持久化到磁盘当中,内存当中用数组存储全部的数据。

剩下的 7 篇文章难度稍微大点,就是在持久化存储之上,构建一个 B 树结构,使数据的插入、查找、删除都更加高效,教程大纲如下:

我目前做了前 6 篇简单的内容,每一篇文章作者都讲得比较详细,并且将代码都贴上来了,还标明了代码的前后变化,可以说是很贴心了:

这个教程有这几个点需要说明一下:

1、文章都是英文的,英文吃力的可能看起来会痛苦一点

2、所有的代码都在一个文件(db.c)里面,写着写着可能会晕

3、C 语言实现的,需要对 C 有一定的了解

我在写这个的时候,并没有把全部代码放到一个文件里面,而是做了拆分,可以参考下我的这个 repo:

https://github.com/flower-corp/simple-db-in-c

通过这个教程,能够对数据库的基本实现原理有一定的了解,是非常不错的学习和入门材料。

要是后续有空的话,我可以将这个教程翻译一下,并且提供 Go 语言的实现。

0 人点赞