Database Replication Synchronization Using Timestamps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database replication systems face challenges in maintaining consistency and performance due to synchronization issues and high overhead, particularly when restarting synchronization or encountering system exceptions, which can lead to inconsistencies and reduced system performance.

Innovation Solution

The implementation of DML-based replication using write logs, where DML statements are precommitted and ordered at source nodes, and a transaction coordinator manages postcommit notifications to ensure consistent replication across multiple replica nodes, with mechanisms to block and resume replication log replay to maintain data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous replication is implemented to improve system performance and reduce overhead, then productivity is improved, but reliability deteriorates due to potential inconsistencies between source and replica tables

Engineering Contradiction:
Improvesystem performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by acquiring a synchronization timestamp from the source table before resuming replication log replay. This timestamp serves as a pre-established reference point that ensures data consistency when replication is restarted, preventing the reliability issues that would otherwise arise from asynchronous replication interruptions.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If synchronization is restarted after a manual pause or system exception, then reliability is improved by resuming data replication, but manufacturing precision deteriorates due to potential inconsistencies between source and replica tables

Engineering Contradiction:
Improvereplication resumptionVSAvoidsynchronization accuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

Before resuming replication log replay, the system acquires a synchronization timestamp from the source table as a preliminary action. This timestamp is obtained before the replication process restarts, ensuring that the replica table can be accurately synchronized to match the source table state at that specific moment, thereby maintaining manufacturing precision.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The synchronization timestamp acts as an intermediary between the source table and the replication process. It serves as a reference marker that mediates the resumption of replication, allowing the system to accurately determine which log entries need to be replayed to maintain synchronization accuracy without direct continuous monitoring of the source table state.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If replication log replay is continuously monitored to maintain consistency, then reliability is improved, but device complexity increases due to additional synchronization mechanisms

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization timestamp as a separate, independent reference point from the continuous replication monitoring process. By obtaining the timestamp before resuming log replay and using it as a standalone reference, the system reduces the complexity of continuous synchronization mechanisms while maintaining reliability through this extracted temporal marker.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10990610B2Synchronization on reactivation of asynchronous table replication
Publication Date: 2021.04.27 SAP SE
  • US10990610B2 patent drawing
  • US10990610B2 patent drawing
  • US10990610B2 patent drawing

AI summary

Technologies are described for performing synchronization within a database environment. A source host stores multiple database tables and a replica host stores copies of the multiple database tables. During synchronization, replication log replay is blocked at the replica node, and a multithreaded process locks the multiple database tables of the source hosts, reactivates replication log generation for each of the multiple database tables, and then unlocks the database tables. A synchronization timestamp is acquired and used to synchronize the multiple database tables with the copies of the multiple database tables. After synchronization, replication log replay is reactivated at the replica host for the copies of the multiple database tables.