Self-adaptive Continuous Page Flushing for Database Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database recovery systems face challenges in evenly distributing write I/O operations during the recovery process, leading to inefficiencies and potential downtime, especially when dealing with multiple-statement transactions and savepoints.
Innovation Solution
The implementation of a self-adaptive continuous flushing mechanism that adjusts the flushing of modified pages to disk based on the number of pages written and write I/O operations, using a factor that can vary by page class, to distribute write I/O more evenly and optimize recovery time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pages are flushed to disk during recovery operations, then data consistency is improved, but write I/O operations become concentrated and less efficient
Solution Approach 1:
The system dynamically adjusts the page flushing behavior based on the recovery state and I/O conditions. The adaptive flushing mechanism modifies flushing parameters in real-time during recovery operations, transitioning from static to dynamic control to optimize both data consistency and I/O distribution efficiency
Solution Approach 2:
The invention changes flushing parameters adaptively during recovery operations. By adjusting parameters such as flushing frequency, batch size, and timing based on the current recovery state and I/O workload, the system achieves better I/O distribution while maintaining data consistency requirements
2Reliability
If recovery operations are performed synchronously, then data consistency is ensured, but recovery time increases
Solution Approach 1:
The system performs preliminary actions during the offline recovery phase by proactively flushing modified pages to disk before the online phase begins. This preliminary data persistence allows the online recovery to proceed more quickly without compromising consistency, as critical pages are already committed to storage
Solution Approach 2:
The invention maintains continuous useful action by overlapping page flushing operations with recovery operations. Instead of completing all flushing before recovery or waiting for recovery before flushing, the system performs both operations in an overlapping manner, maximizing resource utilization and reducing total recovery time
Data Source
AI summary
Recovery of a database system by taking the database system offline is initiated. Thereafter, recovery operations specified by a redo log of the database system are replayed. During such replay, updates to pages implicated by the recovery operations are blocked. In parallel to such blocking, modified pages are adaptively flushed to physical disk storage using a factor that is based on a number of pages written to the physical disk storage and a number of write I/O operations as part of the flushing of the modified pages. Subsequently, the database system is brought online after all of the recovery operations are replayed.


