Bidirectional Database Replication via Log Position Triggering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems restrict users to read-only operations on target databases, limiting their ability to perform data manipulation actions, which can lead to frequent failures and high locking messages due to concurrent changes between source and target databases.

Innovation Solution

A method where a data manipulation request is sent to a source database, with the source database attempting to persist the action and sending a log position to a replication engine, allowing the replication engine to trigger the action in the target database, ensuring consistency and confirming the completion of the action.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users are allowed to perform data manipulation actions on the target database, then user flexibility and operational capability are improved, but database consistency and reliability deteriorate due to concurrent changes between source and target databases

Engineering Contradiction:
Improveuser flexibilityVSAvoiddatabase consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by sending the data manipulation request to the source database before executing it on the target database. The source database attempts to persist the action and returns a log position, which the replication engine uses to trigger the corresponding action on the target database. This preliminary execution on the source database ensures that consistency is maintained before the target database is modified.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by having the source database send a log position of the data manipulation action to the replication engine. The replication engine uses this feedback to trigger the corresponding action on the target database and confirms completion. This feedback mechanism ensures that changes are propagated correctly and consistency is maintained between source and target databases.

Inventive Principle:
Principle #23Feedback

2Reliability

If a two-phase commit protocol is applied to ensure consistency, then database reliability is improved, but system productivity and operational speed deteriorate due to frequent failures and block situations

Engineering Contradiction:
Improvedatabase consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts the commit coordination mechanism from the traditional two-phase commit protocol. Instead of using a rigid two-phase commit that causes block situations and failures, the patent uses a log position-based triggering mechanism where the source database sends the log position to the replication engine, which then triggers the action on the target database. This extraction of the commit protocol's core function while removing its restrictive structure improves throughput while maintaining consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The replication engine acts as an intermediary between the source database and the target database. It receives the log position from the source database, triggers the corresponding data manipulation action on the target database, and confirms completion. This intermediary mechanism enables consistent data propagation without the blocking issues of traditional two-phase commit protocols, thereby improving system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the target database is used for read-only operations, then data consistency is maintained, but operational versatility and user capability are limited

Engineering Contradiction:
Improvedata consistencyVSAvoidoperational capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system makes the target database dynamic by allowing it to transition from a static read-only state to a state where data manipulation actions can be performed. The target database can now receive and execute data manipulation requests triggered by the replication engine, while still maintaining consistency with the source database through the log position-based triggering mechanism. This dynamic capability increase enhances operational versatility without sacrificing data consistency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11995102B2Bidirectional data replication with wait for data function
Publication Date: 2024.05.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11995102B2 patent drawing
  • US11995102B2 patent drawing
  • US11995102B2 patent drawing

AI summary

In an approach, a processor receives a data manipulation request on a target database. A processor sends the data manipulation request to a source database. The source database attempts to persist a data manipulation action relating to the data manipulation request. Responsive to a successful attempt to persist the data manipulation action: the source database sends a log position of the data manipulation action to a data replication engine; a processor replicates the data manipulation request triggering the data manipulation action in the target database; and a processor confirms to the target database that the data manipulation action in the target database has been completed.