Distributed Database Recovery via Block Mastership
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database recovery processes in clusters are inefficient as they rely on a single surviving instance to read and sort redo logs from multiple failed instances, leading to significant time consumption.
Innovation Solution
Distribute the recovery process among multiple surviving instances based on block mastership, where each instance is responsible for applying redo records for the blocks it masters, reducing the need for sorting and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single surviving instance performs database recovery by reading and sorting redo logs from multiple failed instances, then the recovery process can be simplified and managed centrally, but the recovery time increases significantly
Solution Approach 1:
The patent divides the database recovery process into segments by assigning different failed instances to different surviving instances. Each surviving instance reads and applies redo logs only for its assigned failed instance, eliminating the need for a single instance to process and sort all redo logs from multiple failed instances. This segmentation reduces both the workload on individual instances and the overall recovery time.
2Productivity
If multiple surviving instances distribute the recovery workload based on block mastership, then the recovery efficiency improves and time is reduced, but the coordination and management complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-establishing block mastership relationships before failures occur. Each instance maintains knowledge of which blocks it masters and which failed instances it should recover. When failures happen, surviving instances can immediately begin recovery operations for their assigned blocks without needing complex real-time coordination or sorting of redo logs, thus improving efficiency while managing complexity through pre-planned assignments.
3Reliability
If a single instance reads and sorts all redo records from multiple failed instances, then data consistency can be ensured, but the sorting process consumes considerable time
Solution Approach 1:
The patent applies local quality by having each surviving instance maintain local knowledge of which blocks it masters and apply redo logs locally without needing to sort all redo records globally. Each instance processes only the redo logs relevant to its assigned blocks, ensuring data consistency for those specific blocks while avoiding the time-consuming global sorting process. This localized approach maintains reliability for each instance's data while significantly reducing overall processing time.
Data Source
AI summary
A method and apparatus for recovery a cluster database is provided. Database recovery is divided among a plurality of surviving database server instances in the cluster. A surviving instance is responsible for recovering data blocks to which the surviving instance is assigned. One form of block-to-instance assignment may be based on mastership of the blocks. If a data block is locked by a surviving instance at the time of failure, then no recovery of that data block may be necessary. Else, if a copy of a data block that is to be recovered is stored on a surviving node in the cluster, then one or more redo records are applied to that copy (if necessary). A redo record that corresponds to that data block might not need to be applied to the copy if the redo record reflects changes (to the data block) that are already reflected in the copy.


