Protokollbasiertes Wiederherstellungsschema mit verzögerter Datenbankänderung
Beim protokollbasierten Wiederherstellungsschema mit verzögerter Datenbankänderung werden die Protokolldatensätze in den Protokollpuffer (einen Teil des Hauptspeichers) geschrieben, bevor sie auf die Datenbank angewendet werden. Dies ermöglicht eine schnellere Wiederherstellung im Falle eines Systemausfalls, da die Protokolldatensätze aus dem Protokollpuffer wiedergegeben werden können, anstatt sie aus der Datenbank selbst lesen zu müssen.
Der Hauptvorteil dieses Ansatzes besteht darin, dass er die Leistung verbessert, indem die Anzahl der zum Aktualisieren der Datenbank erforderlichen E/A-Vorgänge reduziert wird. Es besteht jedoch auch das Risiko eines Datenverlusts, wenn der Protokollpuffer verloren geht oder beschädigt wird, bevor er in die Datenbank geleert wird.
Um dieses Risiko zu mindern, wird der Protokollpuffer normalerweise regelmäßig oder wenn er eine bestimmte Größe erreicht, in die Datenbank geleert. Darüber hinaus werden die Protokolldatensätze häufig auf ein nichtflüchtiges Speichergerät, beispielsweise eine Festplatte, geschrieben, um sicherzustellen, dass sie bei einem Stromausfall nicht verloren gehen.
Hier sind die Schritte des protokollbasierten Wiederherstellungsschemas mit verzögerter Datenbankänderung:
1. Wenn eine Transaktion beginnt, wird ein Protokolldatensatz in den Protokollpuffer geschrieben.
2. Die Transaktion wird ausgeführt und ihre Ergebnisse werden im Protokollpuffer gespeichert.
3. Wenn die Transaktion festgeschrieben wird, werden die Protokolldatensätze in die Datenbank geschrieben und die Transaktion gilt als abgeschlossen.
4. Wenn das System ausfällt, bevor die Protokolldatensätze in die Datenbank übertragen werden, können die Protokolldatensätze aus dem Protokollpuffer wiedergegeben werden, um die Datenbank in einen konsistenten Zustand wiederherzustellen.
Dieser Ansatz wird in vielen kommerziellen Datenbanksystemen verwendet, darunter Oracle, IBM DB2 und Microsoft SQL Server.