db_tutorial README

The project's README from github.com/cstack/db_tutorial. As one markdown file: README.md.

Let's Build a Simple Database

View rendered tutorial (with more details on what this is.)

Notes to myself

Run site locally:

bundle exec jekyll serve

db_tutorial (cstack/db_tutorial)

Searching Database…

这是什么?这是一个动手实践型教程,从零开始用 C 语言编写一个 SQLite 克隆版,通过逐章构建,讲解真正的数据库内部是如何工作的。
这是一个我能直接使用的数据库,还是只是一个教学项目?这是一个教学项目:你将构建一个精简但可用的数据库(包含 REPL、B 树存储和简单的类 SQL 命令),目的纯粹是学习数据库的工作原理,而不是替代 SQLite。
我该怎么学习这个教程?在线阅读渲染后的教程,按章节进行,同时对照本仓库中的 C 源代码操作;此外还提供了在本地运行教程网站的说明。
除了 C 编译器,跟着学还需要别的东西吗?构建数据库代码需要 C 编译器和 Make;测试套件是用 Ruby 编写的,因此如果想运行测试,就需要安装 Ruby。
这是一个功能完整、可以放心依赖的数据库吗?不是。它只实现了真实数据库功能的一小部分(基础存储、B 树和简单的命令解释器),因此不适合用于生产环境。
这个教程是为谁准备的?面向熟悉 C 语言、想通过亲手实现来理解 B 树、页和查询执行等数据库内部原理的程序员。
这个教程涵盖哪些内容?内容包括构建 REPL、内存中及持久化的存储格式、页、B 树索引,以及一个简单的类 SQL 命令解释器,与 SQLite 的内部结构相对应。
作者为什么要自己动手构建,而不是直接阅读 SQLite 的源代码?README 将其定位为一次学习练习:通过小而循序渐进的章节亲手构建各个部分,比直接阅读成品的生产代码更容易理解分页和 B 树等概念。
我能不跟着文字教程,直接阅读代码吗?可以。仓库中包含与教程一同提供的可用 C 源代码,即使不逐章学习,也可以直接阅读最终的实现。
Creator
cstack
Size
1.1 MB
Stars
10.5K
Updated
CommitMar 04
Age
9y
Commits · 90 Days