Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt.

Ähnliche Präsentationen


Präsentation zum Thema: "Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt."—  Präsentation transkript:

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


Herunterladen ppt "Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt."

Ähnliche Präsentationen


Google-Anzeigen