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: move $100 from account A to account B.

PUT account_A 400 (was 500, debit 100)