Isolation Level
Isolationsstufen definieren die Sichtbarkeit zwischen nebenläufigen Transaktionen, von Read Uncommitted bis Serializable; höhere Stufen geben stärkere Konsistenz, aber geringere Nebenläufigkeit.
Zweck
Nebenläufigkeits-Performance mit Konsistenz abwägen und eine passende Isolationsstufe wählen.
Mechanismus
Read Uncommitted (Dirty Reads), Read Committed (Non-Repeatable Reads), Repeatable Read (Phantom Reads), Serializable (keine Anomalien). MVCC implementiert Snapshot-Isolation (zwischen Repeatable Read und Serializable). PostgreSQL nutzt standardmäßig Read Committed; MySQL InnoDB Repeatable Read.
Anwendungsfälle
- Konsistenzsteuerung nebenläufiger Transaktionen
- Read Committed gegen Dirty Reads
- Repeatable Read für Berichtskonsistenz
- Serializable für starke Konsistenz
Beispiele
- Eingabe
SET TRANSACTION ISOLATION LEVEL READ COMMITTEDOutputAvoids dirty readsPostgreSQL default
Häufige Fehler
- Low isolation levels cause non-repeatable/phantom reads
- Choose the isolation level per business needs
Verwandte Begriffe
ACID
ACID sind die vier Eigenschaften relationaler Transaktionen: Atomarität (Alles-oder-Nichts), Konsistenz (Constraints gewahrt), Isolation (Nebenläufigkeit ohne Störung), Dauerhaftigkeit (Persistenz nach Commit). GLOSSAR
Transaction
Eine Transaktion ist eine Gruppe von Operationen, die als eine logische Einheit unter Einhaltung von ACID ausgeführt wird — alles oder nichts. GLOSSAR