Paper · Transactions & Recovery

ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging

C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, P. Schwarz · ACM Transactions on Database Systems · 1992

The definitive write-ahead logging and crash recovery algorithm. Dense, but worth every page.

Summary

A database must survive crashes without losing committed work or keeping uncommitted changes. It also wants flexibility: dirty pages written to disk before commit (steal), commits that do not force pages to disk (no-force), and locking at the record level rather than the page level. ARIES provides recovery that supports all of these.

Every page carries a log sequence number, which lets recovery know which logged changes the page already contains. After a crash, recovery runs in three passes: analysis rebuilds the dirty page and transaction tables, redo repeats history to restore the exact state at the crash, and undo rolls back losers. Undo writes compensation log records, so recovery is safe even if the system crashes again during it.

Many commercial and open-source systems use ARIES or close variants. The terms it introduced, such as LSNs, pageLSN, repeating history and CLRs, are the shared vocabulary of recovery.

Key ideas

  • Write-ahead logging with a log sequence number (LSN) on every page.
  • Steal and no-force buffer policies for performance.
  • Three-pass recovery: analysis, redo that repeats history, then undo.
  • Compensation log records (CLRs) make undo idempotent across repeated crashes.
  • Support for fine-grained locking, savepoints and partial rollbacks.

More Transactions & Recovery papers