- CMU Databases: BusTub
- MVCC .
- Refs and Transactions .
- Linked load store conditional .
- WAL: write ahead log for DBs.
- Key point: KV store has fixed size txn, but RDBMS does not.
- On the other hand, a DB will need to write down both what the txn will do, as well as how to revert this txn. So there is ARIES, and a do-undo log.
- Also consider the failure case where you run out of disk space when writing a WAL.
- Aries tutorial: https://yashagw.github.io/blog/db-recovery/
- Database design and implementation
- State Machine Replication