WAL
Append every change to a log before applying it to data files.
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?