Study databases from scratch by creating your own, step by step and with simple code in Go (language-neutral).
- Atomicity and durability. A database is more than just files!
- Data saving using fsync.
- Recovery from crashes.
- K/V store based on a B-Tree.
- Disk-based data structures.
- Space management using a free block list.
- Relational database based on K/V.
- Learn how tables and indexes are related to B-Trees.
- SQL-like query language; parser and interpreter.
- Concurrent transactions using copy-on-write data structures.