Niveau d'isolement

Il existe quatre niveaux d'isolation des transactions définis par la norme ANSI/ISO SQL. La grammaire SQL permettant de définir les quatre niveaux d'isolation est prise en charge :
  • Lecture validée
  • Lecture non validée
  • Lecture reproductible
  • Sérialisable

Le seul niveau d'isolation que Netezza Performance Server SQL implémente, cependant, est sérialisable, ce qui fournit le plus haut niveau possible de cohérence.

Ces niveaux d'isolation empêchent les événements suivants de se produire entre des transactions concurrentes :
Lectures salissantes
Une transaction lit des données écrites par des transactions concurrentes non validées.
Lectures non répétables
Une transaction relit les données qu'elle a lues précédemment et constate que les données ont été modifiées par une autre transaction (qui s'est engagée depuis la lecture initiale).
Lecture fantôme
Une transaction réexécute une requête qui renvoie un ensemble de lignes satisfaisant à une condition de recherche et constate que l'ensemble de lignes a changé en raison d'une autre transaction récemment validée.
Le tableau suivant décrit les quatre niveaux d'isolation.
Tableau 1. Niveaux d'isolement
Niveau d'isolement Lecture sale Non répétable Fantôme
lecture non validée Possible Possible Possible
lecture validée Impossible Possible Possible
lecture reproductible Impossible Impossible Possible
sérialisable Impossible Impossible Impossible