Database Recovery Transitional Redo Phase
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During database recovery from failures, users experience downtime due to the sequential nature of database recovery phases, where access to data is restricted until the final redo phase is completed, which can be lengthy and inefficient.
Innovation Solution
Implementing a transitional redo phase that allows pre-redo phase data access by scanning the database transaction log to build a dirty page table, identifying and processing unprocessed data pages, and prioritizing frequently accessed pages to make them available before the final redo phase, thereby reducing downtime and improving user access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional sequential database recovery process is used, then data integrity is ensured through complete redo of all unprocessed pages, but user access is blocked until the final redo phase completes, resulting in extended downtime
Solution Approach 1:
The patent segments the traditional sequential redo process into multiple parallel phases: analysis phase, transitional redo phase, and final redo phase. The analysis phase identifies dirty pages and their transaction status, while the transitional redo phase processes selected pages in parallel before the final redo phase completes the remaining pages. This segmentation allows different portions of the recovery process to proceed concurrently, reducing overall downtime while maintaining data integrity through controlled parallel execution.
Solution Approach 2:
The patent performs preliminary actions during the analysis phase by scanning the transaction log, identifying all dirty pages, and determining which pages can be safely processed in the transitional redo phase. This preliminary analysis enables the system to prepare a recovery plan that allows early access to certain pages while ensuring that critical pages are processed in the final redo phase, thereby reducing downtime without compromising data integrity.
2Reliability
If all unprocessed data pages are processed during the final redo phase, then complete data recovery is achieved, but user access remains blocked for the entire duration of the redo process
Solution Approach 1:
The patent divides the set of unprocessed data pages into multiple segments: pages processed in the transitional redo phase and pages processed in the final redo phase. This segmentation allows users to access pages that have been processed in the transitional phase while the final redo phase continues processing remaining pages in the background, thereby improving user access availability without compromising complete data recovery.
Solution Approach 2:
The patent introduces an intermediary mechanism (the transitional redo phase) that acts as a mediator between the analysis phase and the final redo phase. This intermediary phase processes selected pages and makes them available for user access before the final redo phase completes, serving as a bridge that enables partial user access while ensuring complete data recovery is eventually achieved.
3Reliability
If the database waits for the final redo phase to complete before allowing any user access, then all data pages are guaranteed to be recovered, but the recovery time experienced by users is maximized
Solution Approach 1:
The patent performs preliminary identification of recoverable pages during the analysis phase, determining which pages can be safely processed and made available before the final redo phase. This preliminary action enables the system to prepare a set of pages that can be accessed by users early in the recovery process, thereby reducing the perceived recovery time while maintaining guarantees of complete data recovery through the subsequent final redo phase.
Solution Approach 2:
The patent implements a dynamic recovery approach where the set of accessible pages evolves over time. During the transitional redo phase, certain pages are dynamically made available for user access based on their processing status, while the final redo phase continues to process remaining pages. This dynamic adjustment of accessible pages allows the system to balance between providing early user access and ensuring complete data recovery.
Data Source
AI summary
Embodiments are directed to implementing a transitional redo phase to allow pre-redo phase data access and to determining which data pages including unprocessed transactions are to be processed during a transitional redo phase. In an embodiment, a computer system initiates an analysis phase of a database recovery that scans a database transaction log and builds a dirty page table that includes pages corresponding to unprocessed data transactions. The computer system determines from the dirty page table which pages are to be processed during the transitional redo phase, before the final redo phase. The computer system processes the determined pages during the transitional redo phase, before the final redo phase is reached and, upon completion of the system transaction undo phase, makes available those pages that were processed during the transitional redo phase, as well as those database pages that are not scheduled for processing during the final redo phase.


