Building SaarDB, Part 4: Transactions
In Parts 1-3, we built a storage engine: WAL, memtable, SSTables, and compaction. Every operation is a single GET or PUT. But real applications rarely need just one write at a time. Problem: Multiple Writes Need to Be Atomic Consider a bank transfer: