Simple and Correct Snapshot Isolation
L'isolation par snapshot (SI) est une méthode populaire de contrôle de concurrence offrant une forte concurrence pour les lectures tout en évitant de nombreuses anomalies. SI est simple à implémenter : chaque transaction lit une copie datée du système et, au commit, toute écriture est annulée si la valeur visée a été modifiée depuis le début de la transaction. Toutefois SI peut rejeter des exécutions sérialisables et en accepter d'autres non sérialisables parce qu'elle vérifie les conflits d'écriture plutôt que les lectures obsolètes. La variante write-snapshot isolation (WSI) proposée par Yabandeh et Gómez Ferro vérifie au commit si des valeurs lues ont été écrasées et, en cas positif, provoque l'abort de la transaction afin d'éviter les lectures périmées. WSI garantit la sérialisabilité dans le modèle MVCC mais reste plus restrictive que la sérialisation stricte et n'a pas été largement adoptée en raison de coûts d'intégration, de la présence de solutions bolt-on comme SSI et du fait que SI suffit souvent aux systèmes existants.