Log-Based Replication Coordinator for Distributed Transaction Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In log-based replication of distributed transactions, existing methods fail to ensure transactional consistency during failover scenarios, leading to partial changes being reflected in the target database, which breaks transactional consistency.
Innovation Solution
A method that captures transaction data from source nodes, stores it in target node queues, and uses a coordinator process to globally acknowledge receipt of all local transactions, ensuring that no local transactions are committed until locks are acquired, and implementing a two-phase commit protocol to maintain transactional integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the replication process commits changes independently from each source site for efficiency, then productivity is improved, but transactional consistency is compromised due to potential partial transactions during failover
Solution Approach 1:
The system performs preliminary actions by capturing and staging transaction data from all source sites in target node queues before committing to the target database. This allows the system to verify complete transaction sets from all participating sites before applying changes, ensuring consistency while maintaining efficient batch processing.
Solution Approach 2:
The patent introduces an intermediary coordination mechanism that tracks global transaction identifiers and participating node data across multiple source sites. This intermediary layer ensures that only complete distributed transactions (with all sites represented) are committed to the target, preventing partial transactions while maintaining replication efficiency.
2Reliability
If the system waits for all source sites to propagate changes before committing to maintain consistency, then transactional consistency is improved, but productivity deteriorates due to slower replication
Solution Approach 1:
The system performs preliminary staging of transaction data from all source sites in target node queues before the actual commit operation. This allows asynchronous collection of transaction data without blocking replication progress, while ensuring all necessary data is available before consistency checks are performed.
Solution Approach 2:
The patent applies partial action by committing only the portion of transactions that have complete data from all participating sites, while continuing to receive and stage data from other sites. This allows the system to make progress on available transactions without waiting for potentially delayed sites, maintaining both consistency and throughput.
3Reliability
If the replication process uses two-phase commit protocol for each distributed transaction, then transactional consistency is ensured, but device complexity increases due to coordination overhead
Solution Approach 1:
The patent merges multiple two-phase commit protocols into a single coordinated process by tracking global transaction identifiers across all source sites. Instead of executing separate two-phase commits for each site, the system consolidates the coordination into one process that verifies all participating sites have their changes ready before committing to the target, reducing overall complexity.
Solution Approach 2:
The intermediary coordination mechanism serves multiple functions: it tracks global transaction identifiers, monitors participating node data from all source sites, verifies transaction completeness, and controls the commit decision. This multi-functional approach eliminates the need for separate coordination logic for each source site, reducing overall system complexity.
Data Source
Figure 1A~1C
Figure 2
AI summary
A computer readable storage medium includes executable instructions to read source node transaction logs to capture transaction data, including local transaction data, global transaction identifiers and participating node data. The global transaction identifiers and participating node data are stored in target node queues. The target node queues are accessed to form global transaction data. Target tables are constructed based upon the local transaction data and the global transaction data.