Mise à jour différée vs mise à jour immédiate
La mise à jour différée et la mise à jour immédiate sont deux techniques utilisées pour maintenir les fichiers journaux de transaction des systèmes de gestion des bases de données (DBM). Le journal des transactions (également appelé journal du journal ou le journal de rétroviction) est un fichier physique qui stocke l'ID de transaction, le horodatage de la transaction, l'ancienne valeur et les nouvelles valeurs des données. Cela permet aux SGBD de suivre les données avant et après chaque transaction. Lorsque les transactions sont engagées et que la base de données est renvoyée à un état cohérent, le journal peut être tronqué pour supprimer les transactions engagées.
Mise à jour différée
La mise à jour différée également appelée No-Undo / Redo est une technique utilisée pour récupérer / prendre en charge les défaillances des transactions qui se produisent en raison des défaillances du système d'exploitation, de l'alimentation, de la mémoire ou de la machine. Lorsqu'une transaction s'exécute, toutes les mises à jour ou modifications apportées à la base de données par la transaction ne sont pas effectuées immédiatement. Ils sont enregistrés dans le fichier journal. Les modifications de données enregistrées dans le fichier journal sont appliquées à la base de données sur Commit. Ce processus est appelé «refonte». En cas de retour, toutes les modifications des données enregistrées dans le fichier journal sont rejetées; Par conséquent, aucune modification ne sera appliquée à la base de données. Si une transaction échoue et qu'elle n'est commise en raison des raisons mentionnées ci-dessus, les enregistrements du fichier journal sont rejetés et la transaction est redémarrée. Si les modifications d'une transaction sont engagées avant de s'écraser, après le redémarrage du système, les modifications enregistrées dans le fichier journal sont appliquées à la base de données.
Mise à jour immédiate
La mise à jour immédiate également appelée UNDO / REDO, est également une autre technique utilisée pour récupérer / prendre en charge les défaillances des transactions qui se produisent en raison des défaillances du système d'exploitation, de l'alimentation, de la mémoire ou de la machine. Lorsqu'une transaction s'exécute, toutes les mises à jour ou modifications apportées par la transaction sont rédigées directement dans la base de données. Les valeurs d'origine et les nouvelles valeurs sont également enregistrées dans le fichier journal avant que les modifications ne soient apportées à la base de données. Sur Commit, toutes les modifications apportées à la base de données sont rendues permanentes et les enregistrements dans le fichier journal sont rejetés. Sur Rollback, les anciennes valeurs sont restaurées dans la base de données en utilisant les anciennes valeurs stockées dans le fichier journal. Toutes les modifications apportées par les transactions dans la base de données sont rejetées et ce processus est appelé «désactive». Lorsque le système redémarre après un crash, toutes les modifications de la base de données sont rendues permanentes pour les transactions engagées. Pour les transactions non engagées, les valeurs d'origine sont restaurées à l'aide des valeurs du fichier journal.
Quelle est la différence entre la mise à jour différée et la mise à jour immédiate
Même si la mise à jour différée et la mise à jour immédiate sont deux méthodes de récupération après une défaillance du système, le processus que chaque méthode utilise est différent. Dans la méthode de mise à jour différente, toutes les modifications apportées aux données par une transaction sont d'abord enregistrées dans un fichier journal et appliquées à la base de données sur Commit. Dans la méthode de mise à jour immédiate, les modifications apportées par une transaction sont directement appliquées à la base de données et les anciennes valeurs et les nouvelles valeurs sont enregistrées dans le fichier journal. Ces enregistrements sont utilisés pour restaurer les vieilles valeurs sur Rollback. Dans la méthode de mise à jour différente, les enregistrements dans le fichier journal sont rejetés sur le retour en arrière et ne sont jamais appliqués à la base de données. Un inconvénient de la méthode de mise à jour différée est l'augmentation du temps pris pour récupérer en cas de défaillance du système. D'un autre côté, les opérations fréquentes d'E / S pendant la transaction sont actives, est un inconvénient dans la méthode de mise à jour immédiate.