prev up next

Ersetzen von Pufferseiten

Eine Transaktion referiert Daten, die über mehrere Seiten verteilt sind. Für die Dauer eines Zugriffs wird die jeweilige Seite im Puffer fixiert, wodurch ein Auslagern verhindert wird. Werden Daten auf einer fixierten Seite geändert, so wird die Seite als dirty markiert. Nach Abschluß der Operation wird der FIX-Vermerk wieder gelöscht und die Seite ist wieder für eine Ersetzung freigegeben.

Es gibt zwei Strategien in Bezug auf das Ersetzen von Seiten:

Bei der $ \neg$ steal-Strategie werden niemals Änderungen einer noch nicht abgeschlossenen Transaktion in die materialisierte Datenbasis übertragen. Bei einem rollback einer noch aktiven Transaktion braucht man sich also um den Zustand des Hintergrundspeichers nicht zu kümmern, da die Transaktion vor dem commit keine Spuren hinterlassen hat. Bei der steal-Strategie müssen nach einem rollback die bereits in die materialisierte Datenbasis eingebrachten Änderungen durch ein Undo rückgängig gemacht werden.


prev up next