MVCC (Multi-Version Concurrency Control) là cách PostgreSQL xử lý truy cập đồng thời — thay vì khóa các dòng khi đọc, nó giữ nhiều phiên bản của các dòng, nên mỗi transaction nhìn thấy một snapshot nhất quán của dữ liệu. Lợi ích then chốt: người đọc không chặn người ghi, và người ghi không chặn người đọc, cho phép tính đồng thời cao.
Ý tưởng cốt lõi: nhiều phiên bản của dòng
Khi một dòng được UPDATE, Postgres không ghi đè lên nó — nó tạo một phiên bản MỚI và
đánh dấu phiên bản cũ là lỗi thời. Các transaction khác nhau có thể thấy các phiên bản khác nhau.
→ Mỗi transaction nhìn thấy một SNAPSHOT nhất quán của database tính từ lúc nó bắt đầu
(tùy theo isolation level), không bị ảnh hưởng bởi các thay đổi chưa commit của transaction khác.
