MVCC

PostgreSQL 🔴 Senior

Definition

Multi-Version Concurrency Control : mecanisme ou chaque transaction voit un snapshot coherent de la base. Les lectures ne bloquent jamais les ecritures et vice-versa.

Analogie

Chaque client du restaurant recoit sa propre copie du menu, meme si le chef met a jour les plats en cuisine.

Exemple de code

-- Transaction A lit des donnees
BEGIN;
SELECT * FROM accounts WHERE id = 1;
-- Transaction B modifie en parallele
-- A ne voit pas les changements de B
COMMIT;

Cas d'usage

Comprendre pourquoi PostgreSQL gere si bien la concurrence sans verrouillage pessimiste.

Termes lies

#sgbd#interview#database#postgresql