Multi-path Database Replication for High Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database replication architectures using a single replication path struggle with high throughput at primary databases, leading to increased replication latency and data accumulation, as they cannot match data generation/transaction speeds and lack the ability to prioritize transactions effectively.

Innovation Solution

Implementing a multi-path database replication system that instantiates multiple replicate connections and transaction streams, allowing transactions to be applied in parallel and prioritized based on their replication priority, with data bound to specific replication paths to distribute the replication load across multiple servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single replication path is used to maintain transaction commit order, then transaction integrity is preserved, but replication latency increases significantly during high throughput periods

Engineering Contradiction:
Improvetransaction integrityVSAvoidreplication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the single replication path into multiple parallel replication paths (stream 1, stream 2, etc.), allowing transactions to be replicated simultaneously through different paths. This segmentation enables high throughput while maintaining integrity through controlled parallel processing of transactions across multiple streams.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic transaction routing where transactions are assigned to different replication paths based on their characteristics and priorities. The system dynamically adjusts which path a transaction takes depending on current load conditions and transaction attributes, optimizing replication performance while maintaining order where required.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If transactions are replicated serially in commit order, then transaction order is maintained, but data accumulation and latency increase during high throughput activity

Engineering Contradiction:
Improvetransaction orderVSAvoiddata replication speed
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent divides the sequential transaction stream into multiple parallel streams, allowing different transactions to be replicated simultaneously. This segmentation maintains stability for transactions requiring order while dramatically improving productivity through parallel processing of independent transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-dimensional sequential replication to multi-dimensional parallel replication by introducing additional replication paths. This dimensional change allows transactions to be processed in multiple directions simultaneously, increasing throughput while maintaining order through proper stream management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Device complexity

If all transactions are replicated through a single path, then system complexity is low, but the system cannot prioritize transactions with different replication priorities

Engineering Contradiction:
Improvereplication architectureVSAvoidtransaction prioritization capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the replication architecture into multiple paths with distinct characteristics, enabling different transaction types to be routed to appropriate paths. This segmentation provides adaptability for prioritization while keeping individual path complexity manageable through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different replication paths with different qualities (priorities, latency characteristics) to different transaction types. Critical transactions use high-priority paths while non-critical transactions use standard paths, enabling fine-grained control without system-wide complexity.

Inventive Principle:
Principle #3Local quality

4Device complexity

If a single replication server handles all transactions, then system simplicity is maintained, but replication performance degrades during high throughput periods

Engineering Contradiction:
Improvereplication server structureVSAvoidtransaction processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the replication workload across multiple servers, with each server handling a specific replication stream. This segmentation increases throughput by distributing processing load while maintaining simplicity through standardized server templates that can be deployed and managed uniformly.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8892514B2Multi-path replication in databases
Publication Date: 2014.11.18 SYBASE INC
  • US8892514B2 patent drawing
  • US8892514B2 patent drawing
  • US8892514B2 patent drawing

AI summary

Systems, methods and computer program products for multi-path replication in databases are described herein. A non-limiting embodiment includes instantiating a plurality of replicate connections to a replicate database, providing transactions to the replicate database through a plurality of transaction streams, where the transaction streams associated with respective instantiated replicate connections. Transactions occurring in distinct transaction streams are applied, in parallel, at the replicate database. Another non-limiting embodiment includes instantiating a plurality of replication sender threads, where the replication sender threads communicate in parallel with respective replication servers over respective replication paths. Data sharing one or more attributes can be bound to a replication path in communication with the respective replication servers.