FlowDB is a relational database engine written in Go that implements a strict pipeline architecture where data flows from storage through indexing, transaction processing, and vectorized execution. It exists to demonstrate how tightly coupled, performance-aware design decisions in each layer compound to create a system greater than the sum of its parts. Unlike typical educational databases, FlowDB implements production-grade techniques: slotted pages with compaction, clock-sweep buffer pool with hand-to-hand locking, ARIES-style WAL with group commit, MVCC with predicate-aware visibility vectors, and vectorized query execution with 1024-tuple batches.
0 commit comments