Databases Reference
In-Depth Information
Level
Name
mögliche Problemfälle
0
READ
UNCOMMITED
Dirty Read, Unrepeatable Read, Phantom
Read
1
READ COMMITTED
Unrepeatable Read, Phantom Read
2
REPEATABLE READ
Phantom Read
3
SERIALIZABLE
keine
Abb. 10-5: Isolationslevel
Die genauen Werte können der Abb. 10-5 entnommen werden.
Die typische Standard-Einstellung ist der Wert 3, mit dem
ACID-Transaktionen garantiert werden. Wenn man weiß, dass
man nur lesende Zugriffe hat beziehungsweise kein zweiter
Nutzer auf die gleichen Tabellen zugreifen will, kann es aus
Performance-Gründen sinnvoll sein, einen anderen Isolations-
level für eine Transaktion einzustellen. Der Level muss typi-
scherweise für jede Transaktion neu eingestellt werden, wenn
nicht der Standardwert des Datenbanksystems genutzt werden
soll.
Aus Nutzersicht ist zu beachten, dass eine ordentliche Transak-
tionssteuerung einige Rechenzeit benötigt. Weiterhin kann es
sein, dass eine Transaktion bei einem COMMIT lange warten
muss bis sie endlich ausgeführt wird, da die Transaktionssteue-
rung auf das Ende einer anderen Transaktion wartet. Weiterhin
ist es möglich, dass eine Transaktion abgebrochen oder trotz
COMMIT ein ROLLBACK ausgeführt wird, da ein Konflikt mit ei-
ner anderen Transaktion vorliegt. Im Extremfall können sich
Transaktionen gegenseitig blockieren, wenn z. B. die eine
Transaktion die Tabelle A geändert hat und dann die Tabelle B
ändern will und eine andere Transaktion B geändert hat und
auf A zugreifen möchte. Man spricht dabei von einem Deadlock ,
der entweder vom Nutzer durch den Abbruch einer Transakti-
on oder vom Datenbank-Managementsystem durch den Ablauf
einer Zeitschranke, in der eine Transaktion weiter voran schrei-
ten muss, aufgelöst wird.
Gründe für
niedrigen Isola-
tionslevel
Auswirkungen
von Transakti-
onssteuerungen
10.4
Aufgaben
Wiederholungsfragen
Versuchen Sie zur Wiederholung folgende Aufgaben aus dem
Kopf, d. h. ohne nochmaliges Blättern und Lesen zu bearbeiten.
231
Search WWH ::




Custom Search