Zum Inhalt springen
uencoder

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

Verwandte Tools

References