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.
| 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 |