Isolationsstufe

Es gibt vier Transaktionsisolationsstufen, die über ANSI/ISO-SQL definiert werden. Die SQL-Grammatik zur Definition aller vier Isolationsebenen wird unterstützt:
  • Lesen mit Festschreiben
  • Lesen ohne Festschreibung
  • Wiederholbarer Lesevorgang
  • Serialisierbar

Die einzige Isolationsebene, die der Netezza Performance Server SQL implementiert, ist jedoch serialisierbar, was den höchstmöglichen Grad an Konsistenz bietet.

Die folgenden Isolationsstufen verhindern die folgenden Vorkommen zwischen gleichzeitigen Transaktionen:
Fehlerhafte Leseoperationen (Dirty Reads)
Eine Transaktion liest Daten, die von gleichzeitigen, nicht festgeschrieben Transaktionen geschrieben werden.
Nicht wiederholbare Lesevorgänge (Nonrepeatable Reads)
Eine Transaktion liest erneut Daten, die sie zuvor gelesen hat, und stellt fest, dass die Daten von einer anderen Transaktion modifiziert wurden (die die Daten seit dem ursprünglichen Lesevorgang festgeschrieben hat).
Scheinleseoperation (Phantom read)
Eine Transaktion führt eine Abfrage erneut aus, die eine Zeilengruppe zurückgibt, die eine Suchbedingung erfüllt, und stellt fest, dass sich die Zeilengruppe aufgrund einer anderen kürzlich festgeschriebenen Transaktion geändert hat.
In der folgenden Tabelle werden die vier Isolationsstufen beschrieben.
Tabelle 1. Isolationsstufen
Isolationsstufe Lesezugriff ohne Sperren (Dirty Read) Nicht wiederholbar Scheinleseoperation
Lesen ohne COMMIT Möglich Möglich Möglich
Lesen mit COMMIT Nicht möglich Möglich Möglich
wiederholbares Lesen Nicht möglich Nicht möglich Möglich
serialisierbar Nicht möglich Nicht möglich Nicht möglich