prev up next

Lokales Zurücksetzen einer Transaktion

Die zu einer zurückzusetzenden Transaktion gehörenden Log-Einträge werden mit Hilfe des PrevLSN-Eintrags in umgekehrter Reihenfolge abgearbeitet. Jede Änderung wird durch eine Undo-Operation rückgängig gemacht.

Wichig in diesem Zusammenhang ist die Verwendung von rücksetzbaren Historien, die auf den Schreib- und Leseabhängigkeiten basieren.

Wir sagen, daß in einer Historie H die Transaktion Ti von der Transaktion Tj liest, wenn folgendes gilt:

Eine Historie heißt rücksetzbar, falls immer die schreibende Transaktion Tj vor der lesenden Transaktion Ti ihr commit ausführt. Anders gesagt: Eine Transaktion darf erst dann ihr commit ausführen, wenn alle Transaktionen, von denen sie gelesen hat, beendet sind. Wäre diese Bedingung nicht erfüllt, könnte man die schreibende Transaktion nicht zurücksetzen, da die lesende Transaktion dann mit einem offiziell nie existenten Wert für A ihre Berechnung commited hätte.


prev up next