0
8.5kviews
Write short note on checkpoint
1 Answer
3
106views

• When more than one transaction are being executed in parallel, the logs are interleaved.

• It would become hard for the recovery system to backtrack all logs, and then start recovering.

• To ease this situation the concept of 'checkpoints'.

Checkpoint

• Keeping and maintaining logs in real time and in real environment may fill out all the memory space available in the system.

• The log file may grow too big to be handled as time passes.

• Checkpoint is a mechanism where all the previous logs are removed from the system and stored permanently in a storage disk.

• Checkpoint declares a point before which the DBMS was in consistent state, and all the transactions were committed.

Recovery

When a system with concurrent transactions crashes and recovers, it behaves in the following manner −

enter image description here

• The recovery system reads the logs backwards from the end to the last checkpoint.

• It maintains two lists, an undo-list and a redo-list.

• If the recovery system sees a log with <tn, start=""> and <tn, commit=""> or just <tn, commit="">, it puts the transaction in the redo-list.

• If the recovery system sees a log with <tn, start=""> but no commit or abort log found, it puts the transaction in undo-list.

• All the transactions in the undo-list are then undone and their logs are removed.

• All the transactions in the redo-list and their previous logs are removed and then redone before saving their logs.

Please log in to add an answer.