Aller au contenu
uencoder

Multi-Version Concurrency Control

Le MVCC maintient plusieurs versions par ligne ; les lectures utilisent un instantané cohérent sans verrouillage, atteignant une forte concurrence où les lectures ne bloquent pas les écritures.

Objectif

Comprendre le mécanisme central des lectures hautement concurrentes dans les bases de données modernes (PostgreSQL/Oracle/InnoDB).

Mécanisme

Chaque ligne porte des marques de version (xmin/xmax ou identifiants de transaction). Les lectures choisissent la version visible selon l'instantané de transaction, sans verrou. Les écritures créent une nouvelle version et marquent l'ancienne expirée. Les blocages et le write skew exigent une détection supplémentaire.

Cas d’usage

  • Optimisation des lectures à forte concurrence
  • Implémentation de l'isolation par instantané
  • Mécanismes internes des bases de données

Outils associés

References