Kurz erklärt
Beim Write-Ahead-Log (WAL) wird jede Änderung zuerst in ein Protokoll auf der Platte geschrieben, bevor die eigentlichen Daten geändert werden. Nach einem Absturz lässt sich der Zustand daraus wiederherstellen.
Genauer
Das Protokoll wird nur angehängt (sequentiell, schnell). Ein Commit gilt als dauerhaft, sobald der Log-Eintrag sicher (fsync) geschrieben ist. Die Datenseiten dürfen später und gesammelt auf die Platte, denn im Notfall spielt die Wiederherstellung das Protokoll erneut ab.