Database Replication Collision Resolution via Precedence Hierarchy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database replication systems face challenges in effectively detecting and resolving collisions that occur when changes are made simultaneously to multiple replicated versions of a database, leading to data inconsistencies and divergence.

Innovation Solution

The implementation of a master-slave configuration in an active-active database replication system, where changes are replicated asynchronously from the master node to slave nodes and synchronously from slave nodes to the master node, with a precedence hierarchy to resolve collisions by allowing changes from higher precedence nodes and disallowing changes from lower precedence nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If asynchronous replication is used from master to slave nodes, then replication latency is reduced and productivity is improved, but data consistency and reliability deteriorate due to increased collision risk

Engineering Contradiction:
Improvereplication speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts replication timing modes (synchronous vs asynchronous) based on the direction of data flow. Replication from master to slave nodes uses asynchronous mode for speed, while replication from slave to master nodes uses synchronous mode for consistency, creating a hybrid dynamic replication strategy that optimizes both performance and reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different quality levels of replication are applied to different node pairs based on their roles. Master-to-slave replication prioritizes speed with asynchronous updates, while slave-to-master replication prioritizes consistency with synchronous updates. This local differentiation of replication quality resolves the contradiction by applying appropriate consistency levels where needed

Inventive Principle:
Principle #3Local quality

2Reliability

If synchronous replication is used from slave nodes to master node, then data consistency is improved, but replication latency increases and productivity decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically switches between synchronous and asynchronous replication modes based on the replication direction. Synchronous replication is applied only when data flows from slave to master nodes to ensure consistency, while asynchronous replication is used for master-to-slave flows to maintain speed, creating an adaptive replication system

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The replication timing parameter is changed based on the direction of data flow and the role of nodes involved. The system adjusts the timing parameter from synchronous to asynchronous depending on whether the replication is slave-to-master or master-to-slave, optimizing both consistency and speed for different scenarios

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a master-slave configuration with precedence hierarchy is implemented, then collision resolution is simplified and device complexity is reduced, but adaptability deteriorates as application changes are required

Engineering Contradiction:
Improvecollision resolution complexityVSAvoidflexibility in handling different collision scenarios
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

Instead of requiring applications to implement collision resolution logic, the system inverts the approach by having the replication system itself handle collisions through a precedence hierarchy. The master node's changes always take precedence over slave nodes, eliminating the need for application-level collision handling code while maintaining simple resolution rules

Inventive Principle:
Principle #13The other way round (Inversion)

4Reliability

If multiple constraints are enforced in replicated tables, then data integrity is improved, but the frequency of collisions increases

Engineering Contradiction:
Improvedata integrityVSAvoidreplication efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically determines which constraints to enforce based on the replication direction and node roles. Constraints are enforced more strictly during slave-to-master replication to ensure integrity, while allowing more flexibility during master-to-slave replication to reduce collisions, creating an adaptive constraint enforcement strategy

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8086661B2Method for resolving collisions in a database replication system by relaxing a constraint that contributes to collisions, or removing the cause of the constraint that contributes to the collisions
Publication Date: 2011.12.27 INTEL CORP
  • US8086661B2 patent drawing
  • US8086661B2 patent drawing
  • US8086661B2 patent drawing

AI summary

A method is provided for resolving collisions in a database replication system. The system includes a source database and a target database, wherein changes made at the source database are replicated to the target database. Each database has one or more tables, and at least one of the tables has multiple constraints. A collision is detected during data replication as a result of one of the tables having multiple constraints. One constraint that contributes to the collision is identified. The constraint that contributes to the collision is relaxed, or the cause of the constraint that contributes to the collision is removed. This process is repeated for all additional constraints that contribute to the collision. In this manner, the collision is resolved.