159k views
3 votes
How does "Deferred update" handle a failure?

User ALoR
by
7.7k points

1 Answer

5 votes

Final answer:

In a deferred update, changes made during a transaction are stored in a log until the transaction is completed, ensuring no partial transactions corrupt the database. If a failure occurs before completion, those changes are not written to the database. Completed transactions are redone after recovery, using the logged info.

Step-by-step explanation:

When dealing with database transactions, a deferred update, also known as a no-undo/redo protocol, handles a failure by temporarily storing the changes made by a transaction in a log or buffer rather than immediately writing the changes to the database. This type of failure handling waits until a transaction is completely finished and its successful outcome is ensured before the changes are permanently applied to the database. If a system failure occurs before the end transaction is reached, none of the changes are made to the permanent database, ensuring that any partial transactions do not cause inconsistencies. After a system recovers from a failure, only those transactions that were completed before the failure are redone using the log information.

User Yanchi
by
8.0k points