Skip to content

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:

  1. Motivate write-ahead logging from a single failure scenario.
  2. Cover redo/undo at the conceptual level without the full LSN gymnastics.
  3. 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.