Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Svenja Rehling Geändert vor über 11 Jahren
1
Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt werden können. Jetzt zu betrachten: Rücksetzmechanismen, die gewährleisten, dass nicht erfolgreiche Transaktionen keinerlei Effekte bewirken (Atomizität). Mögliche Gründe für Transaktionsabbruch: –Selbstaufgabe (Ausführung von abort-Operation), –Systembedingter Abbruch (z.B. wegen Verklemmung, Ressourcenmangel, I/O-Fehler), –Systemzusammenbruch mit Verlust des Hauptspeicherinhalts.
2
Rücksetzbarkeit von Schedules (1) Rücksetzen einer Transaktion T i kann andere Transaktion T j beeinflussen, die bereits von T i gelesen hat und deshalb nun ebenfalls rückgesetzt werden muss. Zur Erinnerung: Konfliktserialisierbarer (fast serieller) Schedule S4: r 2 (B) r 2 (T) w 2 (T) w 2 (B) r 1 (B) r 1 (T) a 2 c 1. CP(S4): Nur T 1 ! Da aber T 1 Wert B (und T) von T 2 gelesen hat (dirty read), kann Atomizität von T 1 nur durch Rücksetzen von T 1 erreicht werden. Vorgang ist als kaskadierendes Rücksetzen bekannt unerwünscht, da Arbeit von T 1 verloren geht.
3
Rücksetzbarkeit von Schedules (2) Betrachte konfliktserialisierbaren (fast seriellen) ScheduleS10: r 3 (T) w 3 (T) r 3 (B) w 3 (B) r 2 (B) r 2 (T) w 2 (T) w 2 (B) c 2 c 3. Rücksetzen von T 3 fatal, da wegen dirty read auch T 2 rückzusetzen wäre, dies aber die Dauerhaftigkeit von T 2 verletzen würde. Folgerung: Für Zwecke der Rücksetzbarkeit muss Menge der zulässigen Schedules über Serialisierbarkeit hinaus eingeschränkt werden. a3a3 Zum Vergleich: Kaskadierendes Rücksetzen S10: r 3 (T) w 3 (T) r 3 (B) w 3 (B) r 2 (B) r 2 (T) w 2 (T) w 2 (B) c 3 c 2. a3a3
4
Rücksetzbarkeit von Schedules (3) Definition: Sei S Schedule. –S heißt rücksetzbar (wiederanlaufbar), wenn für alle Transaktionen T i, T j mit i j gilt: wenn T j irgendein Datenelement x von T i liest und S den Aufruf c j enthält, dann enthält S auch c i, und c i erfolgt vor c j. –S vermeidet kaskadierendes Rücksetzen, wenn für alle Transaktionen T i, T j mit i j gilt: wenn T j irgendein Datenelement x von T i liest, dann erfolgt zwischen w i (x) und r j (x) ein Aufruf von c i. Zur Erinnerung: S heißt rigoros, wenn für alle Transaktionen T i, T j in CP(S) mit i j gilt: wenn o i (x) vor o j (x) in S und o i (x) unverträglich mit o j (x), dann erfolgt c i vor o j (x). Rigorose Schedules vermeiden kaskadierendes Rücksetzen und sind konfliktserialisierbar. S2PL löst Isolation und Atomizität.
5
Transaktionszustände potentiellaktivblockiert geschei- tert abge- schlossen wieder- holbar auf- gegeben wieder- anlaufbar inkarnieren neustarten undo abbrechen einbringen verdrängen beenden festschreiben
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.