proomt

Search

Search posts, papers, and topics

Hall of Fame

Hall of FameC. Mohan et al.1992155 min readpaperadvanced

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

Summary

ARIES is a transaction recovery method using write-ahead logging (WAL) that supports fine-granularity locking and partial rollbacks. It introduces the "repeating history" paradigm to redo all missing updates before performing rollbacks of loser transactions during system restart, using Log Sequence Numbers (LSNs) on pages.

  • "Repeating history" ensures all committed changes are reapplied during recovery before any undo operations.
  • Log Sequence Numbers (LSNs) are stored on each data page to track its state relative to the log, enabling efficient recovery.
  • All updates, including those during rollbacks, are logged (compensation log records), ensuring bounded logging even with nested failures.
  • Supports fine-granularity locking (e.g., record-level) and partial transaction rollbacks.

This paper introduced the ARIES algorithm, which became the de facto standard for transaction recovery in many industrial-strength database management systems.

9/10

Related reading

  1. WAL + S3: Lakebase storage for the era of agents

    Neon's Lakebase Postgres redefines database storage by making the WAL the source of truth, stored on S3, rather than data files. This transaction-centric approach enables instant branching, time travel, and scalable, decoupled compute and storage for Postgres.

    Neonneon.com14 minHN4
  2. How we tracked down a 16-year-old SQLite bug

    Tailscale experienced 19 SQLite database corruptions over six months due to a 16‑year‑old bug in SQLite’s WAL checkpoint logic. The single‑writer, Go‑driven shard architecture forced them to add forensic telemetry, a transaction‑logging replay pipeline, and work directly with SQLite core developers to isolate and fix the issue, dramatically reducing downtime.

    Tailscaletailscale.com14 minpostmortemHN1223239
  3. Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases

    Amazon Aurora is a cloud-native relational database that decouples compute from storage, offloading redo log processing to a purpose-built, multi-tenant storage service. This architecture significantly reduces network I/O, enables fast crash recovery, and provides high durability and availability through a novel 6-way replication quorum model.

    Hall of Famestanford.edu47 minpaper
  4. Metastable Failures in Distributed Systems

    This paper introduces and formalizes "metastable failures" in distributed systems, a class of outages where a trigger pushes a system into a bad state that persists due to a sustaining effect, even after the trigger is removed. These failures often stem from features designed for efficiency or reliability and require significant external intervention to resolve.

    Hall of Famesigops.org25 minpaperHN16112
  5. How Uber Protects Against Retry Storms

    Uber developed a context-aware mechanism to prevent retry storms in deep microservice dependency chains. It introduces "error ownership" where services claim errors they originate and unclaim errors they propagate, allowing upstream callers to make informed retry decisions and avoid amplifying load on already struggling services.

    Hacker News front pageuber.com12 minHN11949
  6. 1 points

    Saving another 100TB of RAM with math (and Rust)

    Cloudflare reduced the memory footprint of its Pingora Backend Router by re‑examining the consistent‑hashing implementation in the pingora‑ketama library. By increasing the number of virtual hash points per server from the default 1 to the standard 160 (and applying weighted hashing based on disk capacity), they cut the per‑node overhead enough to reclaim >100 TB of RAM across the fleet. The post…

    Hacker News front pagecloudflare.com13 minHN478120lobste.rs33