Parallel Redo Handler Segmentation for Database Log Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in optimizing performance due to slow and resource-intensive log replay processes, which require taking systems offline and are difficult to test efficiently, especially when dealing with complex and large databases.

Innovation Solution

A computer-implemented method for testing continuous log replays in database systems, involving the selection and execution of specific redo handlers based on recorded changes in data records, allowing for parallel processing and registration of arbitrary actions during recovery, enabling efficient log replay and testing without taking the system offline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional log replay methods are used, then system recovery can be achieved, but the system must be taken offline and the process is slow

Engineering Contradiction:
Improvesystem recoveryVSAvoidlog replay speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the log replay process into separate redo handlers that can operate independently and in parallel. Each handler processes specific types of log records, allowing the system to replay logs without taking the entire system offline, thus improving both reliability and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining multiple redo handlers in advance, ready to process different types of log records. This preparation allows immediate processing of log records when needed, eliminating the need to take the system offline for recovery operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive testing of log replay is performed, then system reliability is improved, but the complexity and time required for testing increases

Engineering Contradiction:
Improvelog replay testingVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing framework is segmented into multiple independent redo handlers, each responsible for specific testing scenarios. This modular approach allows comprehensive testing to be divided into manageable units, reducing overall testing complexity while maintaining thoroughness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copying by creating test duplicates of log records and handlers. Multiple redo handlers are instantiated to process the same or different log records simultaneously, enabling parallel testing without increasing the complexity of individual test cases.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple redo handlers are used for parallel processing, then log replay speed improves, but system complexity increases

Engineering Contradiction:
Improvelog replay speedVSAvoidhandler management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The redo handlers are designed with multi-functionality, where each handler can process multiple types of log records. This universal design reduces the number of specialized handlers needed, thereby improving log replay speed through parallel processing without proportionally increasing system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If log replay is performed on large databases, then complete recovery is achieved, but the time required increases significantly

Engineering Contradiction:
Improvecomplete recoveryVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the large database recovery process into multiple parallel log replay operations handled by different redo handlers. This segmentation allows the system to process different portions of the database simultaneously, achieving complete recovery without the linear time increase that would otherwise occur with sequential processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous useful action by keeping multiple redo handlers active and processing log records continuously without interruption. This continuous parallel processing ensures complete recovery of large databases while minimizing recovery time by eliminating idle periods and sequential bottlenecks.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11176004B2Test continuous log replay
Publication Date: 2021.11.16 SAP SE
  • US11176004B2 patent drawing
  • US11176004B2 patent drawing
  • US11176004B2 patent drawing

AI summary

A method, a system, and a computer program product for performing testing of continuous log replays in a database system. A redo log generated for a data record in a database is received. The redo log is indicative of a change in persistency of the data record in the database. Based on the change in persistency recorded in the redo log, a redo handler in the plurality of handlers is selected for execution of a replay of the received redo log. Using the selected redo log, replay of the redo log is executed to generate a state of the data record prior to the change in persistency recoded in the redo log.