MVCC (Multi-Version Concurrency Control) allows readers and writers to not block each other.
How it works:
Each row has version information (transaction IDs). Updates create new versions instead of overwriting. Readers see a consistent snapshot based on their transaction start time.
Benefits:
- Reads never block writes
- Writes never block reads
- Consistent snapshots without locks
Trade-off: Old versions accumulate. Vacuum/garbage collection needed to reclaim space.