🏠 » Datenbank Grundlagen » DBMS » Isolationsgrad » Read Uncommitted

Isolationsgrad Read Uncommitted

Das Read Uncommitted stellt den ersten und gleichzeitig schwächsten Isolationsgrad dar. Es ermöglicht den Zugriff auf Daten, die aus einer anderen Transaktion stammen, die aber noch nicht abgeschlossen (committed) wurden.

Dadurch können beim Abruf von Daten auch nicht dauerhaft gespeicherte und nicht-konsistente Informationen im Abfrageergebnis enthalten sein.

Aus diesem Grund wird das Read Uncommitted nur für Transaktionen verwendet, die lediglich lesend (read only) auf die Datenbank zugreifen.

Vorteile und Nachteile der Isolationsstufe Read Uncommited

Aufgrund der Tatsache, dass alle Daten aus der Datenbank abgerufen werden, gleich welchen Transaktionszustand diese aufweisen, sind Abfragen sehr effizient. Sie benötigen keine Sperrprotokolle und führen nicht zu einer Behinderung anderer Transaktionen. Von Vorteil ist das Read Uncommitted beim Einsatz zur Abfrage von statistischen Berechnungen, die keine absolute Genauigkeit benötigen, sondern lediglich für eine Orientierung bzw. eine erste Einschätzung der Datenwerte dienen.

Das Read Uncommitted führt unter Umständen zu Anomalien im Abfrageergebnis. Es können die im Mehrbenutzerbetrieb vorkommenden Anomalien Dirty Read, Unrepeatable Read und das Phantom Problem auftreten. Das Lost Update wäre ebenso möglich, wenn das Read Uncommitted für Schreibzugriffe zulässig wäre, was es nicht ist.

Anwendungsbeispiele für den Isolationsgrad Read Uncomitted

Das Read Uncommitted ermöglicht sehr schnelle Lesezugriffe und eignet sich daher sehr gut für Datenanalysen und Statistiken, die einen ungenaueren Durchschnittswert aufweisen können. Zudem handelt es sich bei analytischen Datenbanken um spezialisierte Datenbankmanagementsysteme, die nicht viele Schreibtransaktionen durchführen. Bei Transaktionsdatenbanken, werden Daten ständig neu erfasst oder geändert, was zu Ungenauigkeiten in der Auswertung führen kann.

Read Uncommited Beispiel | Isolationsgrade im Detail

Ein anderes Anwendungsbeispiel ist die Entwicklung von Datenbankanwendungen oder Transaktionssystemen. Hier werden zu Testzwecken oft Stichproben oder eine Vorschau abgerufen, um zu prüfen, ob das Speichern und Ändern der Daten erfolgreich war. Für diese Abfragen braucht es meist keine rein konsistenten Daten.

Weiterführende Artikel