Replication Log-Injected Compare Records for Database Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing replication solutions face challenges in detecting and resolving inconsistencies between source and target datastores, particularly in heterogeneous environments, where differences in database formats and structures complicate the comparison process, and existing methods often require database systems to be in read-only mode, leading to inefficiencies and potential use of stale data.

Innovation Solution

A computer-implemented method that uses compare records injected into a log stream to detect inconsistencies between source and target datastores, allowing for point-in-time comparison and resolution of conflicts using conflict exits, enabling parallel comparison operations and maintaining database availability without long-term locks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database systems are placed in read-only mode for comparison, then data consistency between source and target datastores can be verified, but database availability and update operations are blocked

Engineering Contradiction:
Improvedata consistency verificationVSAvoiddatabase availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs comparison operations on replicated data before the replication is fully applied to the target database. By using compare records that are injected into the log stream and processed by the apply process, the verification happens at a point in time before updates are committed, allowing the database to remain in read-write mode throughout the comparison process.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If static copies are used for comparison, then consistent state verification is achieved, but the comparison data may be stale and not reflect current changes

Engineering Contradiction:
Improveconsistent state verificationVSAvoidstale data
Core Design Contradiction:
Stability of the object's compositionVSLoss of information

Solution Approach 1:

The system introduces compare records as an intermediary mechanism between the source and target databases. These compare records are injected into the replication log stream and contain snapshots of source data at specific points in time. The apply process processes these compare records against the current target state, enabling verification of data consistency without requiring static copies or blocking updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If replication log-injected compare records are used, then database availability is maintained during comparison, but the complexity of the replication system increases

Engineering Contradiction:
Improvedatabase availabilityVSAvoidreplication system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The apply process is enhanced to serve multiple functions: it continues to perform its standard role of applying replication changes to the target database while simultaneously processing compare records for verification purposes. This multi-functionality allows the system to maintain database availability during comparison without requiring separate dedicated verification processes, thereby limiting the increase in system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11907260B2Compare processing using replication log-injected compare records in a replication environment
Publication Date: 2024.02.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11907260B2 patent drawing
  • US11907260B2 patent drawing
  • US11907260B2 patent drawing

AI summary

Compare processing using replication log-injected compare records includes receiving compare records from a source system having a source datastore in a replication relationship with a target datastore of a target system, the compare records corresponding to selected source objects of the source datastore, and the compare records being received in compare transaction(s) to be performed by the target system for determining whether data of the target datastore is consistent with the selected source objects, and commencing compare processing to perform the compare transaction(s), the compare processing including processing a compare record of the received compare records, which includes identifying a selected source object identified by the compare record, attempting to locate and read a corresponding target object of the target datastore, and further processing the compare record based on whether the corresponding target object is located and read by the attempting.