RDMS Transaction Log Synchronization After Failure

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoidsynchronization coordination
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #23Feedback

2Reliability

If transaction rollback and reapplication procedures are implemented to resolve synchronization issues, then ACID properties are preserved, but recovery time increases

Engineering Contradiction:
ImproveACID propertiesVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10114848B2Ensuring the same completion status for transactions after recovery in a synchronous replication environment
Publication Date: 2018.10.30 SYBASE INC
  • US10114848B2 patent drawing
  • US10114848B2 patent drawing
  • US10114848B2 patent drawing

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.