Replication Log Tracking Committed Transactions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In transaction processing systems, replicating data across servers can lead to inconsistencies due to challenges in coordinating updates and rollbacks, especially when multiple log files are involved, making it difficult to ensure data consistency.
Innovation Solution
A method and system for consistent replication of transactional updates that records entries in a replication log for data updates and corresponding transactions, indicating whether transactions have been backed out or committed, and only replicates updates associated with committed transactions, thereby excluding those from backed-out transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data replication is performed across servers in a distributed computing architecture, then high availability and disaster recovery are improved, but data consistency and coordination complexity deteriorate
Solution Approach 1:
A replication coordinator is introduced as an intermediary component that manages the replication process between source and destination servers. The coordinator receives transaction logs from the source server, processes them, and selectively replicates only committed transactions to the destination server, thereby simplifying the coordination complexity while maintaining high availability
Solution Approach 2:
The system implements feedback mechanisms where the replication coordinator receives acknowledgment from the destination server about replicated transactions and uses this information to track replication status. This feedback loop ensures that only committed transactions are successfully replicated and allows for rollback coordination, maintaining data consistency across distributed servers
2Reliability
If multiple log files are employed for transaction logging, then transaction durability and recovery are improved, but coordination of updates and rollbacks deteriorates
Solution Approach 1:
Multiple log files that track different aspects of transactions (updates, rollbacks, commits) are merged into a unified replication log structure that the replication coordinator processes as a single stream. This consolidation allows the coordinator to understand the complete transaction history and make informed decisions about which transactions to replicate, simplifying coordination while maintaining durability
Solution Approach 2:
The replication coordinator performs preliminary processing of transaction logs before replication, identifying which transactions are committed and which are rolled back in advance. This preliminary action allows the system to prepare replication commands that only include committed transactions, eliminating the need for complex coordination during the actual replication process
3Productivity
If all data updates are replicated without filtering, then replication speed and completeness are improved, but data consistency deteriorates
Solution Approach 1:
The replication process applies local quality filtering at the transaction level, where each transaction is individually evaluated to determine if it should be replicated. Committed transactions are replicated while rolled back transactions are excluded, ensuring data consistency is maintained at the transaction level without significantly impacting overall replication speed
Solution Approach 2:
Instead of replicating all transactions (excessive action), the system selectively replicates only the subset of transactions that are committed (partial action). This partial replication approach maintains data consistency by excluding rolled back transactions while preserving replication efficiency for the relevant data changes
Data Source
AI summary
Embodiments of the present invention provide a method, system and computer program product for consistent replication of transactional updates. In an embodiment of the invention, a method for consistent replication of data in a transaction processing system is provided. The method includes recording entries in a replication log of different data updates and corresponding transactions and additionally recording entries in the replication log indicating whether or not the transactions have been backed out. The method also includes replicating only those data updates referenced in the log which do not correspond to transactions indicated in the log to have been backed out. For instance the additionally recorded entries in the replication log indicate when a transaction has been backed out. Alternatively, the additionally recorded entries in the replication log indicate when a transaction has been committed.

