ScholarGate
Assistent

Wiederherstellung und Protokollierung

Wiederherstellungs- und Protokollierungsmechanismen gewährleisten die Atomarität und Dauerhaftigkeit von Transaktionen, indem sie Änderungen in einem Protokoll aufzeichnen, sodass nach einem Absturz abgeschlossene Arbeiten wiederholt und nicht abgeschlossene Arbeiten rückgängig gemacht werden können.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Die Datenbankwiederherstellung ist der Prozess der Wiederherstellung der Datenbank in einen konsistenten Zustand nach einem Fehler, wobei sichergestellt wird, dass die Effekte abgeschlossener Transaktionen dauerhaft sind und abgebrochene oder laufende Transaktionen keine Spuren hinterlassen; die Protokollierung ist die Technik der Aufzeichnung von Transaktionsaktionen in einem dauerhaften Protokoll, um dies zu ermöglichen.

Scope

Dieses Thema behandelt, wie eine Datenbank Ausfälle übersteht: das Write-Ahead-Logging (WAL)-Protokoll, Undo- und Redo-Informationen, Checkpoints zur Begrenzung der Wiederherstellungsarbeit und den Standard-Wiederherstellungsalgorithmus (insbesondere ARIES) mit seinen Analyse-, Redo- und Undo-Durchläufen. Es behandelt die Pufferverwaltungsrichtlinien (Steal/No-Steal, Force/No-Force), die bestimmen, welche Protokollierung erforderlich ist. Ausgeschlossen sind die Parallelitätskontrollprotokolle, die während des normalen Betriebs und des verteilten Commits ablaufen, welche angrenzende Themen sind.

Core questions

  • Warum muss der Protokolldatensatz den dauerhaften Speicher erreichen, bevor die von ihm beschriebenen Daten (Write-Ahead-Logging)?
  • Wie stellen Undo und Redo nach einem Absturz einen konsistenten Zustand wieder her?
  • Wie bestimmen Pufferverwaltungsrichtlinien (Steal/Force) die Protokollierungsanforderungen?
  • Welche Rolle spielen Checkpoints bei der Begrenzung der Wiederherstellungszeit?
  • Wie strukturiert der ARIES-Algorithmus die Wiederherstellung in Analyse, Redo und Undo?

Key concepts

  • Write-Ahead-Logging (WAL)
  • Undo- und Redo-Protokollierung
  • Log-Sequenznummer
  • Checkpoints
  • Steal/No-Steal- und Force/No-Force-Richtlinien
  • Kompensations-Log-Datensätze
  • Analyse-, Redo-, Undo-Durchläufe
  • ARIES

Key theories

Write-Ahead-Logging
Das WAL-Protokoll erfordert, dass Protokolldatensätze, die eine Änderung beschreiben, auf den stabilen Speicher geschrieben werden, bevor die entsprechende Datenseite dies tut, um sicherzustellen, dass das System nach einem Absturz genügend Informationen hat, um nicht abgeschlossene Änderungen rückgängig zu machen und abgeschlossene Änderungen zu wiederholen.
Undo/Redo-Wiederherstellung und Pufferrichtlinien
Ob das System Undo, Redo oder beides benötigt, hängt von den Pufferrichtlinien ab: Eine Steal-Richtlinie (Schreiben unbestätigter Seiten auf die Festplatte) erfordert Undo, und eine No-Force-Richtlinie (kein Erzwingen bestätigter Seiten beim Commit) erfordert Redo; die gängige Steal/No-Force-Kombination erfordert beides.
ARIES
ARIES ist die weit verbreitete Wiederherstellungsmethode, die Write-Ahead-Logging, Log-Sequenznummern und einen Drei-Pass-Algorithmus (Analyse, Redo, Undo) mit Kompensations-Log-Datensätzen verwendet, um eine feingranulare Sperrung und partielle Rollbacks zu unterstützen.

Clinical relevance

Wiederherstellung und Protokollierung machen die Dauerhaftigkeit real: Sie stellen sicher, dass, sobald ein System eine Transaktion wie eine Zahlung oder Bestellung bestätigt, diese Tatsache Stromausfälle und Abstürze übersteht und dass ein Absturz mitten in einer Transaktion die Datenbank niemals in einem halb aktualisierten, inkonsistenten Zustand hinterlässt.

History

Härder und Reuters Übersicht von 1983 legte die Prinzipien der transaktionsorientierten Wiederherstellung und die Taxonomie der Pufferrichtlinien dar. ARIES, entwickelt von C. Mohan und Kollegen bei IBM und 1992 veröffentlicht, wurde zum De-facto-Standard-Wiederherstellungsalgorithmus, der Write-Ahead-Logging mit Log-Sequenznummern und Kompensationsdatensätzen kombiniert, um eine feingranulare Sperrung zu unterstützen.

Key figures

  • C. Mohan
  • Jim Gray
  • Theo Härder
  • Andreas Reuter

Related topics

Seminal works

  • mohan1992
  • haerder1983
  • gray1992

Frequently asked questions

Warum ist Write-Ahead-Logging notwendig?
Weil die Datenbank eine geänderte Seite auf die Festplatte schreiben kann, bevor die Transaktion abgeschlossen ist, oder eine abgeschlossene Seite zum Zeitpunkt des Absturzes im Speicher halten kann. Das Erzwingen des Protokolldatensatzes vor der Datenseite garantiert, dass, was auch immer der Puffer-Manager getan hat, die Wiederherstellung genügend Informationen hat, um nicht abgeschlossene Änderungen rückgängig zu machen und abgeschlossene Änderungen zu wiederholen, um einen konsistenten Zustand zu erreichen.
Was bewirken Checkpoints?
Ein Checkpoint zeichnet periodisch auf, welche Transaktionen aktiv sind, und schreibt Buchhaltungsdaten in das Protokoll, wodurch die Wiederherstellung einen aktuellen, als gut bekannten Startpunkt erhält. Ohne Checkpoints müsste die Wiederherstellung möglicherweise das gesamte Protokoll von Anfang an scannen; Checkpoints begrenzen, wie weit die Wiederherstellung zurückgehen muss, wodurch die Neustartzeit überschaubar bleibt.

Methods for this concept

Related concepts