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