Continuous Page Flusher for In-Memory Database Savepoint Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database recovery processes are inefficient due to the need to manage and flush modified pages to physical disk storage, which can slow down savepoint creation and log replay, especially in high-availability systems where the secondary system must operate as quickly as the primary system.

Innovation Solution

Implementing a page flusher that selectively flushes modified pages to physical disk storage based on a pre-defined time window and page type, allowing for continuous or periodic execution, independent of savepoints, to speed up savepoint creation and minimize savepoints during log replay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all modified pages are flushed to physical disk storage before savepoint creation, then data consistency is ensured, but savepoint creation time increases significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidsavepoint creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary flushing of modified pages to disk storage before savepoint creation. The continuous page flusher proactively identifies and flushes pages that were last modified outside a pre-defined time window, ensuring that when savepoint creation is needed, fewer pages remain in memory that require flushing, thus reducing savepoint creation time while maintaining data consistency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The continuous page flusher operates continuously or periodically in the background, continuously identifying and flushing modified pages to disk storage. This continuous action ensures that pages are gradually moved from memory to disk over time, preventing accumulation of unflushed pages and reducing the burden on savepoint creation operations without compromising data consistency

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If frequent page flushing is performed to ensure data durability, then recovery speed improves, but system performance and productivity deteriorate

Engineering Contradiction:
Improverecovery speedVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The continuous page flusher operates on a periodic basis with a pre-defined time window, flushing pages that were last modified outside this window. This periodic action ensures that pages are flushed at appropriate intervals rather than continuously, balancing recovery preparedness with system performance by avoiding excessive flushing operations while still ensuring data durability

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses a pre-defined time window parameter to determine which pages need flushing. By adjusting this time window parameter, the system can control the frequency and volume of page flushing operations, optimizing the balance between recovery speed and system performance based on specific operational requirements

Inventive Principle:
Principle #35Parameter changes

3Reliability

If savepoints are created frequently to ensure transaction safety, then transaction rollback capability improves, but log replay time increases

Engineering Contradiction:
Improvetransaction safetyVSAvoidlog replay time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The continuous page flusher performs preliminary flushing of modified pages to disk before savepoint creation. This preliminary action ensures that when a savepoint is created, fewer modified pages remain in memory, reducing the amount of work required during log replay operations and thereby reducing log replay time while maintaining transaction safety through proper savepoint creation

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10387398B2Continuous database page flusher
Publication Date: 2019.08.20 SAP SE
  • US10387398B2 patent drawing
  • US10387398B2 patent drawing
  • US10387398B2 patent drawing

AI summary

Execution of a page flusher is initiated in an in-memory database system in which pages are loaded into memory and which has associated physical disk storage. Thereafter, the page flusher identifies pages that were last modified outside a pre-defined time window. The page flusher then flushes the identified modified pages to the physical disk storage.