Skip to content

Repository files navigation

samdb

A small relational database built from scratch in C, working up from raw file persistence through a B+tree-backed KV store to a SQL-like query language.

Build

make

Test

bash tests/run-all.sh

See docs/ for per-chapter rationale and PROGRESS.md for the chapter checklist.

About

Implemented a persistent copy-on-write B+tree, durable two-phase commit, a page-organised free list, typed tables, secondary indexes, multi-statement ACID transactions, MVCC snapshot isolation. Tech: B+tree, copy-on-write, MVCC, ACID, SQL, recursive-descent parser, C, mmap, pwrite, fsync, POSIX, Linux, bash, GCC, gdb

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages