Shadow Paging
Shadow Paging ist eine Copy-on-Write-Technik: Änderungen gehen in neue Seitenkopien, und der Zeiger der Seitentabelle wird atomar umgeschaltet, was Crash-Recovery ohne Log ermöglicht.
Zweck
Den alternativen WAL-freien Wiederherstellungsmechanismus verstehen, wie er in eingebetteten Datenbanken wie LMDB genutzt wird.
Mechanismus
Bei Änderungen wird die Seite an einen neuen Ort kopiert und die Shadow-Seitentabelle aktualisiert. Beim Commit wird der Zeiger der Shadow-Seitentabelle atomar umgeschaltet (ein einziger atomarer Schreibvorgang). Alte Seiten lassen sich freigeben. Kein WAL nötig, aber hohe Schreibverstärkung; für kleine Datenbanken geeignet.
Anwendungsfälle
- Design eingebetteter Datenbanken
- Log-freie Wiederherstellung
- Copy-on-Write