Self-adaptive Continuous Page Flushing for Database Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite I/O distribution
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

2Reliability

If recovery operations are performed synchronously, then data consistency is ensured, but recovery time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10409695B2Self-adaptive continuous flushing of pages to disk
Publication Date: 2019.09.10 SAP SE
  • US10409695B2 patent drawing
  • US10409695B2 patent drawing
  • US10409695B2 patent drawing

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.