Database Replication via Parallel JDBC Connection Pooling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database replication software is limited by the need for strict sequential order of SQL statements, which restricts parallel processing and leads to inefficiencies in handling large batches of changes, resulting in increased replication time and potential failure during high data change rates.

Innovation Solution

Establishing multiple database connections and using replication rules to determine discrete connections for each operation, allowing parallel execution of replication operations across these connections while maintaining sequential order for related changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential execution of SQL statements is used to maintain correct order of replication operations, then data consistency is ensured, but replication throughput and processing speed deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the single database connection into multiple parallel connections (connection pool). Each connection can execute SQL statements independently, allowing parallel processing of replication operations while maintaining data consistency through proper connection management and transaction control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional sequential execution model to a multi-dimensional parallel execution model by introducing multiple database connections. This allows replication operations to be distributed across multiple connections, increasing throughput while maintaining correctness through coordination mechanisms.

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

2Device complexity

If a single database connection is used for replication operations, then connection management is simplified, but the system cannot exploit multi-processing capabilities and processing speed is limited

Engineering Contradiction:
Improveconnection management complexityVSAvoidreplication processing speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent divides the single connection resource into multiple connections, creating a connection pool that can be distributed across multiple database processes. This enables parallel processing and exploitation of multi-processing capabilities while managing complexity through connection pooling algorithms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the connection parameter from a single connection to multiple connections, fundamentally altering the system's processing capacity. This parameter change enables the system to leverage multi-processing capabilities and significantly increase replication processing speed.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If large batches of SQL statements are processed on a single connection, then batch processing efficiency is maximized, but the maximum processing rate is limited and replication may fail during high data change rates

Engineering Contradiction:
Improvebatch processing efficiencyVSAvoidreplication reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments large batches of SQL statements across multiple database connections, allowing parallel processing of statement subsets. This maintains batch processing efficiency while distributing the load, preventing any single connection from becoming a bottleneck and reducing failure risk during high data change rates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses multiple connections to process batches in parallel, effectively performing more processing actions simultaneously than a single connection could handle. This partial distribution of batch processing across connections increases overall throughput and reliability without sacrificing batch efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11176174B2Systems and methods for database replication
Publication Date: 2021.11.16 MASTERCARD INT INC
  • US11176174B2 patent drawing
  • US11176174B2 patent drawing
  • US11176174B2 patent drawing

AI summary

Methods and systems for database replication include establishing a plurality of Java database connectivity (JDBC) database connections to a first database. One or more replication operations are received from a second database defining the data changes to be replicated. In addition, one or more replication rules are received defining the replication procedure. Each replication rule specifies an algorithm for determining a discrete database connection for each respective replication operation. The discrete database connection for each respective replication operation is determined by applying the algorithm specified by the one or more replication rules to each respective replication operation. Moreover, each respective replication operation is performed at the first database on the respective determined discrete database connection.