Transaktionen

Werbung
Kapitelzusammenfassung:
Transaktionen
Datenbanksysteme für Hörer anderer Fachrichtungen WiSe 2014/15
Dozentin: Dr. Angelika Reiser
21.01.2015
T
Transaktionen
kti
D fi iti
Definition:
• ‚Ununterbrechbare‘ Folge von DML-/DDL-Befehlen
Ende der Transaktion:
• Commit
C
it ((work)
k) vs abort
b t (rollback)
( llb k)
dauerhaft
nur vorübergehend
• logisch konsistenter Zustand bleibt gewährt!
2
ACID P i i
ACID-Prinzip
• Atomicity
At i it (‚Alles
( All oder
d nichts‘)
i ht ‘)
– Alle / oder keine Befehle werden durchgeführt
• Consistency
– Erhalt der DB-Konsistenz
• Isolation
– Logischer Einbenutzerbetrieb
– S
Siehe
e e Mehrbenutzeranomalien
e be ut e a o a e
• Durability
– Überleben aller Änderungen
g trotz ((erwarteter ) Fehler ((z.B.
Hauptspeichercrash)
– Erfordert Logging
3
Anomalien
1. Lost Update
–
Update geht durch Überschreiben verloren
2 Dirty Read
2.
–
Ausdruck wird gelesen, obwohl noch kein „commit“
erfolgt ist
3. Non-repeatable Read
–
Zweimaliges
Z
i li
L
Lesen b
bringt
i t unterschiedliches
t
hi dli h
Ergebnis hervor
4 Phantom Read
4.
–
Spezialform von 3., nur bei neu eingefügten
Objekten
4
Konsistenzebenen und Anomalien
Konsistenz‐
ebenen
Dirty Read
Non‐Repeatable
Read
Phantom Read
Read R
d
Uncommitted
+
+
+
Read Committed
‐
+
+
Repeatable Read
‐
‐
+
Serializable
‐
‐
‐
+ = kommt vor
‐ = tritt nicht auf
t itt i ht f
5
Synchronisation
• Serializable höchste Konsistenzebene in SQL
• Serialisierbarkeit :
„Parallele
Ausführung
einer
Menge
von
Transaktionen ist serialisierbar,, wenn es eine
serielle Ausführung derselben TA-Menge gibt, die
den gleichen DB-Zustand und die gleichen
Ausgabewerte wie die ursprüngliche Ausführung
erzielt.“
• Gewährleistung z.B. durch Sperrverfahren
6
Sperrverfahren
• RX-Sperrverfahren
RX Sperrverfahren
– Deadlock (zyklische Wartebeziehungen)
– Timeout (‚Verhungerung
(‚Verhungerung‘))
Optimierungen:
•
•
•
•
•
! Inkaufnahme von Anomalien muss
mit Vorsicht genossen werden!
Hierarchische Sperren
Reduzierte Konsistenzebene (Isolation levels)
Zeitstempel
Snapshot-Isolation (MVCC)
Optimistische Synchronisation
– Kontrolle erfolgt am Ende und nicht zu Beginn
7
Übersicht
8
Literaturhinweise
• Vorlesungsfolien vom 07.01.2015
p & Eickler: Datenbanksysteme.
y
Eine
• Kemper
Einführung. -Kapitel 9: Transaktionsverwaltung.
9
Herunterladen