HomeDistributed & Parallel ComputingMVCC: How Databases Let Readers and Writers Work Without Blocking Each Other

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

Explore Multi-Version Concurrency Control (MVCC), the technique behind PostgreSQL, MySQL InnoDB, and Oracle that lets readers see a consistent snapshot of data while writers keep working, all without locking rows.

Distributed & Parallel Computing3DModerate60 FPS
mvcc-multi-version-concurrency-control-lab ↗ Open standalone

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.

⚙ Under the hood

Explore Multi-Version Concurrency Control (MVCC), the technique behind PostgreSQL, MySQL InnoDB, and Oracle that lets readers see a consistent snapshot of data while writers keep working, all without locking rows.

mvccdatabasesconcurrencypostgresqlmysqltransactionsisolation-levelsvacuum

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)