Databases¶
I co-teach this with a colleague who handles the relational algebra and SQL portion. My half is the systems side — query execution, storage, concurrency, recovery.
ARIES — the eternal problem¶
The textbook treatment of ARIES is impenetrable to most undergraduates. I have given up trying to teach it in full. What I do instead:
- Motivate write-ahead logging from a single failure scenario.
- Cover redo/undo at the conceptual level without the full LSN gymnastics.
- Point them at the Mohan paper for the masters module.
This is a compromise. ARIES is the most-cited paper in the database systems literature for a reason. But two lectures is not enough to do it justice.
Concurrency¶
2PL → strict 2PL → 2PL with deadlock prevention. MVCC as the modern alternative. SSI as the postgres innovation.
What students always misunderstand: serialisability is not the same as serial execution. The whole point is that you get the semantics of serial execution while actually running concurrently. This is worth labouring.
Reading I assign¶
- Stonebraker — What goes around comes around. The historical perspective is essential.
- Mohan et al. — ARIES: A Transaction Recovery Method.... Masters level.
- DeWitt and Gray — Parallel database systems: the future of high performance database processing. CACM 1992 but most of it is still the framing in use.