Multi-instance Redo Apply for Standby Database Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database configurations face performance bottlenecks in redo apply processes for physical standbys, especially in multi-node setups, due to inefficient utilization of hardware resources, leading to increased replication lag and reduced database availability.
Innovation Solution
Implementing a multi-instance redo apply method where each standby instance processes redo records in parallel using non-blocking, single-task threads, with a master coordinator instance for synchronization and an intelligent workload distribution function to minimize communication overhead, allowing concurrent service of read queries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single-node redo apply is used on a physical standby, then the system structure is simple, but the redo apply performance becomes a bottleneck and cannot efficiently utilize hardware resources
Solution Approach 1:
The patent divides the redo apply process into multiple independent instances running in parallel on the physical standby. Each redo apply instance processes a subset of redo records independently, allowing the system to utilize multiple CPU cores and hardware resources simultaneously. This segmentation transforms the single-node bottleneck into a multi-node parallel processing architecture, directly resolving the contradiction between simplicity and performance.
2Reliability
If a multi-node primary database generates a large volume of redo records, then the data protection capability is enhanced, but the replication lag time increases due to insufficient processing capacity on the standby
Solution Approach 1:
The patent implements preliminary action by having each redo apply instance pre-allocate and buffer redo records from the multi-node primary database before full processing is required. This allows the standby to accumulate and pre-process redo records in parallel, reducing the replication lag time while maintaining data protection capability. The parallel instances work ahead of time to minimize the time gap between primary and standby.
3Ease of operation
If hardware resources are not efficiently utilized on the physical standby, then the system is easier to operate, but the mean time to recovery increases
Solution Approach 1:
The patent implements self-service by enabling each redo apply instance to autonomously manage its own processing queue and resource allocation without requiring complex centralized coordination. The instances automatically distribute and process redo records independently, allowing the system to efficiently utilize hardware resources while maintaining ease of operation. This self-managing parallel architecture reduces mean time to recovery without adding operational complexity.
Data Source
AI summary
A method, apparatus, and system for multi-instance redo apply is provided for standby databases. A multi-instance primary database generates a plurality of redo records, which are received and applied by a physical standby running a multi-instance standby database. Each standby instance runs a set of processes that utilize non-blocking, single-task threads for high parallelism. At each standby instance for the multi-instance redo, the plurality of redo records are merged into a stream from one or more redo strands in logical time order, distributed to standby instances according to determined apply slave processes using an intelligent workload distribution function, remerged after receiving updates from remote instances, and applied in logical time order by the apply slave processes. Redo apply progress is tracked at each instance locally and also globally, allowing a consistent query logical time to be maintained and published to service database read query requests concurrently with the redo apply.


