Database Replication Parallel Execution via Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database replication mechanisms face significant latency when applying a combination of row-level, statement-level, and procedure-level changes to a destination database, as they typically apply these changes sequentially rather than in parallel, despite being executed concurrently at the source database.

Innovation Solution

The techniques enable parallel application of a combination of row-level, statement-level, and procedure-level changes to a destination database by computing dependencies among these changes at various levels and using conflict detection mechanisms to ensure logical equivalence, allowing multiple processing elements to execute changes in parallel based on determined dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If changes are applied sequentially to the destination database, then conflicts are avoided and data consistency is maintained, but replication latency increases and performance deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments changes into different types (row-level, statement-level, procedure-level) and further divides them into independent sets that can be applied in parallel. By identifying independent changes that do not conflict with each other, the system can apply multiple changes simultaneously to different data rows, thereby reducing replication latency while maintaining data consistency through conflict detection mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary conflict detection and dependency analysis before applying changes to the destination database. By pre-identifying independent changes that can be safely applied in parallel, the system prepares the replication process to execute multiple changes concurrently without risking data consistency, thus reducing replication latency while preserving reliability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel application of changes is implemented, then replication latency is reduced and performance improves, but device complexity increases due to dependency computation and conflict detection mechanisms

Engineering Contradiction:
Improvereplication performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the replication process into distinct phases: change classification, dependency analysis, conflict detection, and parallel execution. By organizing the complex parallel application process into manageable segments with clear interfaces, the system achieves high replication performance while controlling complexity through structured processing of different change types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary components such as dependency graphs and conflict detection mechanisms that mediate between the incoming changes and the parallel application process. These intermediaries manage the complexity by providing systematic methods for identifying independent changes and coordinating their parallel execution, thereby improving replication performance without overwhelming system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If all changes are applied in parallel, then replication performance is maximized, but logical equivalence between source and destination may be compromised due to conflicts

Engineering Contradiction:
Improvereplication throughputVSAvoidlogical equivalence
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements feedback mechanisms through conflict detection that monitor the parallel application process. By detecting conflicts between concurrent changes and adjusting the replication strategy accordingly (e.g., serializing conflicting changes while maintaining parallel execution of independent ones), the system maximizes replication throughput while preserving logical equivalence between source and destination databases.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary conflict detection and dependency analysis before parallel application to identify changes that can be safely executed concurrently. This pre-screening ensures that only non-conflicting changes are applied in parallel, maximizing throughput while maintaining logical equivalence by preventing conflicting operations from being executed simultaneously.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9569514B2Statement-level and procedural-level replication
Publication Date: 2017.02.14 ORACLE INT CORP
  • US9569514B2 patent drawing
  • US9569514B2 patent drawing
  • US9569514B2 patent drawing

AI summary

Techniques for replicating data in database systems are described. In an example embodiment, a set of changes is received at a destination database, where the set of changes has been applied at a source database and is being replicated from the source database to the destination database. The set of changes is analyzed and it is determined that the set of changes includes two or more of: a subset of row-level changes, a subset of statement-level changes, and a subset of procedure-level changes. A set of dependencies is determined at least between the changes that are included in the subsets of changes. The changes, in the subsets of changes, are assigned to two or more processing elements. The set of changes is applied to the destination database by executing the two or more processing elements in parallel to each other and based on the set of dependencies.