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.
