SaarDB is a learning project: build a relational database from first principles in Go, one layer at a time.
The goal is not to build a production database. The goal is to make database internals feel intuitive by building the core ideas directly and explaining the tradeoffs along the way.
When we think of a relational database, it is tempting to start with SQL parsing, tables, data types, and query execution. But that starts with the interface before understanding the storage layer underneath it.
So Part 1 starts smaller: a key-value store. From there, we will hit the first serious database problem: how do we make writes survive a crash?
Where to Start: Why a Key-Value Store?






