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…

Что это такое?Это практический учебник, в котором шаг за шагом показано, как написать с нуля клон SQLite на C и как устроена настоящая база данных изнутри. Вы создаёте её по главам.
Это рабочая база данных, которой можно пользоваться, или просто учебный проект?Это учебный проект: вы собираете минимальную, но работающую базу данных (с 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