Database Block Recovery via Parallel Proxy Node Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data recovery methods in database systems are inefficient, particularly when errors occur during data changes in the buffer cache before reflection to the persistent storage medium, leading to potential data loss and requiring inefficient recovery processes.
Innovation Solution
A method involving a coordinator node that decides recovery candidate blocks and master nodes, with proxy nodes performing parallel recovery of target blocks based on re-read log data, allowing for efficient data recovery by distributing recovery tasks across multiple nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If one node performs data recovery using existing schemes, then data loss is prevented, but recovery efficiency is low due to sequential processing and high network data transmission
Solution Approach 1:
The patent divides the recovery process into distinct phases: identifying recovery candidate blocks from log data, selecting master nodes for each candidate block, and executing parallel recovery operations. This segmentation allows multiple nodes to work simultaneously on different blocks, transforming a sequential single-node process into a parallel multi-node system that maintains data integrity while significantly improving recovery efficiency
Solution Approach 2:
The patent performs preliminary identification of recovery candidate blocks and assignment of master nodes before the actual recovery execution. By pre-processing the log data to determine which blocks need recovery and which nodes should perform the recovery, the system eliminates coordination overhead during the recovery phase, enabling immediate parallel execution without delay
2Device complexity
If a single node performs recovery operations, then coordination is simple, but network data transmission increases and recovery speed decreases
Solution Approach 1:
The patent segments the recovery workload across multiple nodes, with each node responsible for specific candidate blocks. This distribution reduces the amount of data each node must process and store locally, decreasing network transmission requirements while the coordinated assignment of master nodes maintains manageable complexity through a clear hierarchical structure
Solution Approach 2:
The patent introduces a new dimension of parallelism by enabling multiple nodes to perform recovery operations simultaneously rather than sequentially. By transitioning from a single-node sequential approach to a multi-node parallel architecture with master node coordination, the system achieves exponential speedup while keeping coordination complexity linear through the master node assignment mechanism
3Stability of the object's composition
If all nodes wait for one node to complete recovery, then data consistency is maintained, but recovery time increases significantly
Solution Approach 1:
The patent performs preliminary assignment of master nodes to each recovery candidate block before recovery execution. This pre-coordination establishes a clear division of labor that enables parallel recovery operations while maintaining data consistency through the master node architecture, eliminating the need for nodes to wait sequentially for each other's completion
Solution Approach 2:
Each master node independently manages its assigned recovery candidate blocks without requiring continuous coordination with other nodes during the recovery process. This self-service approach allows parallel execution while maintaining consistency, as each node autonomously performs recovery operations on its designated blocks based on the pre-established master node assignments
Data Source
AI summary
Provided is a method for recovering a block in a database system. Provided is a method for recovering a database block, including: deciding one or more recovery candidate blocks by reading log data recorded in a persistent storage medium; deciding master nodes of the one or more respective recovery candidate blocks; and re-reading the log data in order to permit proxy nodes of the one or more recovery target blocks to recover at least one recovery target block among the one or more recovery candidate blocks in parallel, at least one recovery target block among the one or more recovery candidate blocks being decided by the master nodes of the one or more recovery candidate blocks.


