Replicated Lock Information for Faster Database Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-node database systems, the time required to determine the set of units of data that need to be redone or undone during failure recovery delays the full availability of the database, as the system is locked until this process is complete.
Innovation Solution
Replicating lock information across nodes allows for quick identification of data blocks that require recovery operations, enabling faster database availability by assigning each instance a recovery instance to perform failure recovery using the replicated information, thus avoiding the need to scan the redo log.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the database system locks the database to determine the set of units of data requiring recovery operations, then the reliability of recovery operations is improved, but the availability of the database system deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-determining and storing the set of units of data requiring recovery operations in a data structure before failure occurs. This pre-computed information is maintained in memory, allowing the recovery process to immediately access the required data blocks without performing time-consuming analysis during the recovery phase, thus reducing the lock duration while ensuring reliable recovery operations.
2Measurement precision
If the system scans the redo log to determine which changes need to be redone or undone, then the measurement precision of recovery requirements is improved, but the time required for this process increases
Solution Approach 1:
The patent applies copying by creating and maintaining a data structure that contains pre-identified information about units of data requiring recovery operations. Instead of scanning the redo log during recovery to determine what needs attention, the system uses this pre-populated data structure that was constructed in advance, significantly reducing the time required to identify recovery requirements while maintaining accurate identification of all necessary data blocks.
3Reliability
If the database system performs complete failure recovery analysis before unlocking, then the reliability of data integrity is improved, but the duration of system unavailability increases
Solution Approach 1:
The patent applies preliminary action by pre-identifying and storing in a data structure the complete set of units of data requiring recovery operations before any failure occurs. This pre-computed information includes all data blocks that may need redo or undo operations, allowing the system to quickly determine recovery scope without extensive analysis during the recovery phase, thus maintaining data integrity while minimizing unavailability duration.
Data Source
AI summary
Techniques are described herein for quick identification of a set of units of data for which recovery operations are to be performed to redo or undo changes made by the failed node. When a lock is requested by an instance, lock information for the lock request is replicated by another instance. If the instance fails, the other instance may use the replicated lock information to determine a set of data blocks for recovery operations. The set of data blocks is available in memory of a recovery instance when a given node fails, and does not have to be completely generated by scanning a redo log.


