Lessico IT › Database › MVCC

MVCC

Database Svenska → Aggiornato: 2026-10-02

Multi-Version Concurrency Control: il database conserva più versioni della stessa riga, così i lettori non bloccano gli scrittori (e viceversa).

Ogni transazione riceve uno snapshot basato su un ID di transazione e vede solo le versioni già confermate (commit) al momento del suo inizio. Le scritture creano nuove versioni; quelle vecchie vengono ripulite in seguito (VACUUM in Postgres, undo log in Oracle e MySQL InnoDB).

È il comportamento predefinito in Postgres, Oracle, MySQL InnoDB, SQL Server (modalità snapshot), SQLite (modalità WAL) e Spanner. Il prezzo: più disco e memoria, una garbage collection periodica e l'anomalia di "write skew", che resta possibile con la snapshot isolation.

← Torna al lessico