Parallel Redo Handler Segmentation for Database Log Replay
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If comprehensive testing of log replay is performed, then system reliability is improved, but the complexity and time required for testing increases
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.
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.
3Productivity
If multiple redo handlers are used for parallel processing, then log replay speed improves, but system complexity increases
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.
4Reliability
If log replay is performed on large databases, then complete recovery is achieved, but the time required increases significantly
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.
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.
Data Source
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.


