In Parts 1-4, we built a transactional key-value store. It has WAL for durability, memtables and SSTables for storage, compaction to control file growth, and transactions for atomic multi-key writes.
Now we move to the query layer where users can actually fire SQL queries like:
CREATE TABLE payments (amount INT, id STRING, status STRING, captured BOOL, PRIMARY KEY (id))
INSERT INTO payments VALUES (500, payment_1, pending, 1)
SELECT * FROM payments WHERE id = payment_1






