Write-ahead logging
Le Write-Ahead Logging est une approche des sauvegardes en base de données qui utilise l'écriture d'un journal de transactions en base de données.
Le concept des WAL est d'effectuer les changements requêtés dans les données uniquement après que ces changements aient été écrits dans un journal, c'est-à-dire quand l'enregistrement du journal décrivant les changements a été stocké de façon permanente. En d'autres termes, un journal retraçant toutes les opérations effectuées sur la base de données est stocké comme sauvegarde, avec une version physique antérieure de la base de données. Dans l'éventualité d'une défaillance, on est donc capable de récupérer la base de données en utilisant ce journal : on restaure l'ancienne version de la base sauvegardée physiquement, après quoi chaque changement qui avait été appliqué aux données après cette sauvegarde ancienne peut être ré-exécuté depuis les enregistrements du journal[1].
Cette méthode de sauvegarde permet une récupération totale après un crash de la base. Elle est également très intéressante en termes de stockage et de performances de la sauvegarde, car enregistrer le WAL est beaucoup plus rapide et moins couteux en espace de stockage que la sauvegarde physique des données de la base à chaque modification des données[2].
Notes et références
modifier- « Write-Ahead Logging (WAL) », sur docs.postgresql.fr (consulté le )
- « Write-Ahead Logging », sur www.sqlite.org (consulté le )