Rollback

Als Rollback (vom englischen „roll back“ für „zurückrollen“ oder „zurückdrehen“) bezeichnet man in EDV-Systemen das „Zurücksetzen“ der einzelnen Verarbeitungsschritte einer Transaktion. Das System wird dadurch vollständig auf den Zustand vor dem Beginn der Transaktion zurückgeführt.

Ein Rollback wird typischerweise im Fehlerfall angestoßen, falls beispielsweise ein Verarbeitungsschritt in der betreffenden Transaktion nicht korrekt durchgeführt werden kann. Im normalen Ablauf (ohne Fehlersituation) werden mit einem „Commit“ die Änderungen der Transaktion permanent gemacht.

Rollbacks spielen vor allem im Zusammenhang mit Datenbanksystemen und anderen transaktionalen Systemen eine wichtige Rolle. Eine Transaktion ist hierbei eine Folge zusammengehöriger Operationen auf einer Datenbank. Dabei kann eine Transaktion die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand überführen. Während der Transaktion können die Konsistenzregeln einer Datenbank abgeschaltet sein. Um die Konsistenz des Datenbestands zu gewährleisten, müssen Transaktionen immer vollständig oder gar nicht ausgeführt werden (vgl. ACID-Prinzip). Die unvollständige Ausführung einer Transaktion, z.B. aufgrund eines Systemfehlers, führt zum Rollback der Transaktion.

Das Rollback ist neben dem Redo eine Maßnahme zur Datensicherung („Recovery-Maßnahme“). Sie zielt auf die Vermeidung von Inkonsistenzen.

Eine umfassende Datensicherung ist nur möglich, wenn für jede Transaktion ein Protokoll geführt wird. Dieses Protokoll nennt man auch Journal, logfile oder audit trail. Wegen der sequentiellen (chronologischen) Aufzeichnung der Änderungen bietet sich hier eine sequentielle Datei an.

Inhalt der Protokoll-Datei (logfile)

before-image-journal
Protokollierung des Zustands vor der Änderung für alle in einer Transaktion erfolgten Änderungen von Objekten
after-image-journal
Protokollierung des Zustands nach der Änderung für alle in einer Transaktion erfolgten Änderungen von Objekten
evtl. Checkpoints

Struktur des before-image-journal in der Protokoll-Datei

Das Anlegen des before-images im Logfile muss zwingend zeitlich vor der Änderung in der Datenbasis erfolgen.
Nach erfolgreichem Abschluss einer Transaktion wird die zugehörige Information im before-image-journal nicht mehr benötigt, sie kann gelöscht bzw. überschrieben werden.
Das before-image wird nur für einen Rollback benötigt.

Struktur des after-image-journal in der Protokoll-Datei

Nach erfolgreichem Abschluss einer Transaktion muss die zugehörige Information im after-image-journal aufbewahrt werden.
Das after-image dient der Wiederherstellung vollendeter Transaktionen nach einem Datenverlust durch Hard- oder Softwarefehler.

Struktur der Checkpoints in der Protokoll-Datei

Checkpoints werden nur für eine Systemwiederherstellung nach einem Hard- oder Softwarefehler benötigt (Desaster-Recovery)

Wiederherstellung

Bei Verlust der aktuellen Datenbasis ist eine Wiederherstellung wie folgt möglich:

Das Verfahren beendet sich durch das Lesen der Marke für den Beginn der entsprechenden Transaktion.

Bei einer Desaster-Recovery muss das System die Checkpoints ermitteln:

Zusammen mit Sicherungskopien können Daten auch nach einem Totalverlust wieder hergestellt werden.

Ursachen für den Verlust von Daten

Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung: Jena, den: 18.05. 2020