Zum Inhalt springen
uencoder

Write-Ahead Log

Das Write-Ahead-Log (WAL) persistiert Änderungen in einem nur-anhängenden Log, bevor sie auf Datenseiten angewandt werden, und garantiert so die Redo-Wiederherstellung nach Abstürzen.

Zweck

Der Grundstein der Transaktionsdauerhaftigkeit und Absturzwiederherstellung; der Kernmechanismus aller relationalen Datenbanken.

Mechanismus

Eine Transaktion schreibt zuerst das Log (LSN + Änderungsinhalt) mit fsync und ändert danach die Speicherseiten. Nach einem Absturz wird das Log wiedergegeben, um committete Transaktionen nachzuvollziehen (Redo) und nicht committete zurückzurollen (Undo). Checkpoints kürzen das alte Log.

Anwendungsfälle

  • Design der Absturzwiederherstellung
  • Transaktionsdauerhaftigkeit
  • Datenbankinterna

Verwandte Tools

References