Synchronous Replication Transaction Identifier Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current synchronous replication techniques face challenges in increasing speed and reliability for data recovery in high availability disaster recovery (HADR) scenarios, particularly in handling partial and complete site failures, where data integrity and quick recovery are critical.
Innovation Solution
The proposed solution involves a method for completing transactions in a synchronous replication environment where a transaction identifier is sent to a replication server and stored on disk in parallel, allowing the client to sleep until acknowledgment is received, thereby reducing the time for transaction completion and enhancing reliability through parallel processing and efficient log management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous replication waits for confirmation at both primary and mirrored sites before considering update complete, then data integrity is ensured, but transaction completion time increases
Solution Approach 1:
The patent applies preliminary action by sending the transaction identifier to the replication server in parallel with storing the transaction on disk, rather than waiting sequentially. This allows the system to prepare and transmit replication information before the actual disk I/O completes, reducing the overall transaction completion time while maintaining data integrity through the synchronous replication mechanism.
2Reliability
If the system waits for disk I/O completion before sending transaction identifier, then data consistency is maintained, but processing speed decreases
Solution Approach 1:
The system generates and sends the transaction identifier to the replication server in parallel with the disk I/O operation, rather than waiting for disk I/O to complete first. This preliminary action maintains data consistency through the replication mechanism while significantly improving processing speed by eliminating the sequential wait time.
Solution Approach 2:
The patent changes the temporal dimension of the processing by executing disk I/O and network transmission in parallel rather than sequentially. This dimensional change from a linear process to a concurrent process allows both operations to proceed simultaneously, improving throughput without compromising data consistency.
3Device complexity
If synchronous replication uses sequential processing for disk I/O and network acknowledgement, then resource overhead is reduced, but transaction completion time increases
Solution Approach 1:
The system performs the network transmission of the transaction identifier in parallel with the disk I/O operation, rather than sequentially. This preliminary parallel action reduces transaction completion time without significantly increasing resource overhead, as both operations can share the same system resources efficiently.
Solution Approach 2:
The patent maintains continuous useful action by ensuring that both disk I/O and network transmission proceed simultaneously without idle waiting periods. This continuity maximizes resource utilization and reduces the overall transaction completion time while keeping the system architecture relatively simple.
Data Source
AI summary
Systems and methods are presented for completing transactions in a synchronous replication environment. In some embodiments, a computer-implemented method can include generating in a database server, an identifier to identify a database transaction. The method can also include transmitting the identifier to a replication server; receiving acknowledgement that the identifier is acknowledged by the replication server; storing the transaction in the database server; and executing the transaction after receiving acknowledgement from the replication server and after determining the transaction is stored in the database server; wherein transmitting the identifier to the replication server occurs in parallel with storing the transaction in the database server.


