← 🗂️ Distributed Systems

🗂️ MVCC: How Databases Let Readers and Writers Work Without Blocking Each Other

Versions: 0
Snapshot:
Drag — rotate · Scroll — zoom

🗂️ MVCC: How Databases Let Readers and Writers Work Without Blocking Each Other

The simulator visualizes how a database maintains multiple timestamped versions of a row and routes each transaction to the version matching its own snapshot, showing readers and writers proceeding concurrently without blocking each other.

🔬 What It Demonstrates

The simulator visualizes how a database maintains multiple timestamped versions of a row and routes each transaction to the version matching its own snapshot, showing readers and writers proceeding concurrently without blocking each other.

🎮 How to Use

Start transactions, issue reads and writes against shared rows, and watch how each transaction's snapshot determines which row version it sees, then trigger vacuum to clean up dead tuples.

💡 Did You Know?

PostgreSQL's autovacuum process can fall dangerously behind if a single transaction stays open for hours, since it forces the database to retain every row version that transaction might still need to see.