Aller au contenu
uencoder

Write-Ahead Log

Le journal d'écriture anticipée (WAL) persiste les modifications dans un journal en ajout seul avant de les appliquer aux pages de données, garantissant la récupération redo après un crash.

Objectif

Être la pierre angulaire de la durabilité des transactions et de la reprise après crash ; le mécanisme central de toutes les bases de données relationnelles.

Mécanisme

Une transaction écrit d'abord le journal (LSN + contenu du changement) avec fsync, puis modifie les pages en mémoire. Après un crash, on rejoue le journal pour refaire les transactions validées (redo) et annuler les non validées (undo). Les points de contrôle tronquent l'ancien journal.

Cas d’usage

  • Conception de la reprise après crash
  • Durabilité des transactions
  • Internes des bases de données

Outils associés

References