Aller au contenu
uencoder

Snapshot Isolation

L'isolation par instantané permet à une transaction de lire un instantané cohérent (versions des données au début de la transaction), évitant les lectures sales et non reproductibles, mais tolérant le write skew.

Objectif

Fournir une isolation efficace à haute concurrence sur MVCC ; le niveau par défaut de nombreuses bases de données.

Mécanisme

Au début de la transaction, on acquiert un instantané cohérent (tampons de version visibles) ; les lectures ne prennent aucun verrou. Détection de conflit d'écriture : si deux transactions chevauchantes écrivent la même ligne, celle qui valide en dernier est avortée. Le REPEATABLE READ de PostgreSQL est exactement cela.

Cas d’usage

  • Isolation sur MVCC
  • Optimisation des lectures concurrentes
  • Choix du niveau d'isolation

Outils associés

References