Storage & Databases also: Write-Ahead Log

WAL

Append every change to a log before applying it to data files.


In plain terms

Crash recovery: replay the log. The basis for every modern database's durability story.

Origin

IBM's System R (1976) and the Tandem NonStop SQL work (early 1980s) established the basic technique. Mohan et al.'s 1992 ARIES paper ("ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging") is the definitive treatment — every modern WAL traces back to it.

Where it shows up in production
  • PostgreSQL pg_wal directory. Replication, point-in-time recovery, crash recovery all derive from the same log.
  • MySQL InnoDB Redo log (the WAL) plus an undo log for MVCC and rollback.
  • Kafka The log is the database — Kafka is essentially a distributed WAL exposed as the API.
On Semicolony
Sources & further reading
Found this useful?