Schéma de récupération basé sur les journaux avec modification différée de la base de données
Dans le schéma de récupération basé sur les journaux avec une approche de modification différée de la base de données, les enregistrements du journal sont écrits dans le tampon du journal (une partie de la mémoire principale) avant d'être appliqués à la base de données. Cela permet une récupération plus rapide en cas de panne du système, car les enregistrements du journal peuvent être relus à partir du tampon de journal plutôt que de devoir être lus à partir de la base de données elle-même.
Le principal avantage de cette approche est qu’elle améliore les performances en réduisant le nombre d’opérations d’E/S requises pour mettre à jour la base de données. Cependant, cela introduit également un risque de perte de données si le tampon de journal est perdu ou corrompu avant d'être vidé dans la base de données.
Pour atténuer ce risque, le tampon de journal est généralement vidé périodiquement dans la base de données ou lorsqu'il atteint une certaine taille. De plus, les enregistrements des journaux sont souvent écrits sur un périphérique de stockage non volatile, tel qu'un disque, pour garantir qu'ils ne seront pas perdus en cas de panne de courant.
Voici les étapes impliquées dans le schéma de récupération basé sur les journaux avec une approche de modification différée de la base de données :
1. Lorsqu'une transaction commence, un enregistrement de journal est écrit dans le tampon de journal.
2. La transaction est exécutée et ses résultats sont stockés dans le tampon de journal.
3. Lorsque la transaction est validée, les enregistrements du journal sont vidés dans la base de données et la transaction est considérée comme terminée.
4. Si le système tombe en panne avant que les enregistrements de journal ne soient vidés dans la base de données, les enregistrements de journal peuvent être relus à partir du tampon de journal pour restaurer la base de données dans un état cohérent.
Cette approche est utilisée dans de nombreux systèmes de bases de données commerciales, notamment Oracle, IBM DB2 et Microsoft SQL Server.
|