RDMS Transaction Log Synchronization After Failure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a Relational Database Management System (RDMS), synchronization issues can arise between the RDMS and a replication component after a failure event, leading to discrepancies in the state of replicated databases, which can compromise ACID properties and data integrity.
Innovation Solution
The RDMS employs a method to resynchronize with the replication component by exchanging information about the last committed transaction, rolling back unreplicated transactions, and reapplying missed transactions to ensure data consistency and integrity, thereby addressing situations where the RDMS and replication component are out of sync.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous replication is used to ensure data consistency between RDMS and replication component, then data integrity is improved, but system complexity increases due to synchronization coordination requirements
Solution Approach 1:
The patent introduces a transaction log as an intermediary mechanism that records all transactions in chronological order with unique identifiers. This transaction log serves as the mediator between the RDMS and replication component, allowing them to independently track and reconcile transactions without complex real-time coordination, thus maintaining data integrity while reducing synchronization complexity
Solution Approach 2:
The patent implements a feedback mechanism where the RDMS and replication component exchange information about their respective last committed transaction identifiers. After a failure, each system queries the other to determine which transactions need to be re-applied or rolled back, enabling automatic reconciliation and resynchronization without manual intervention or complex coordination protocols
2Reliability
If transaction rollback and reapplication procedures are implemented to resolve synchronization issues, then ACID properties are preserved, but recovery time increases
Solution Approach 1:
The patent employs preliminary action by maintaining a complete transaction log with unique identifiers and timestamps before any failure occurs. This pre-established record allows the system to quickly determine which transactions need rollback or reapplication during recovery, eliminating the need for complex analysis or trial-and-error approaches and significantly reducing recovery time while preserving ACID properties
Solution Approach 2:
The patent segments the recovery process into distinct phases: querying the last committed transaction identifier, comparing transaction logs, rolling back unreplicated transactions, and reapplying missed transactions. This segmentation allows each phase to be executed independently and efficiently, reducing overall recovery time while ensuring ACID compliance through systematic transaction management
Data Source
AI summary
Disclosed in some examples is a method, the method including detecting that an RDMS is recovering from a failure; sending a request for a last committed transaction on a replication component to the replication component; receiving, from the replication component, the last committed transaction which identifies a transaction that was the last committed transaction at a replication component at a time of RDMS failure; determining that a transaction log on the RDMS includes a transaction that had not yet been replicated at the time of RDMS failure which was committed on the transaction log subsequent to the last committed transaction received from the replication component; and based on that determination rolling back the transaction that had not yet been replicated at the time of RDMS failure.


