Dynamic Update Path Selection for Database Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database replication systems face performance issues due to the manual selection of update paths, leading to latency and high transactional costs, as they struggle to dynamically adapt to changing workloads and performance characteristics.

Innovation Solution

The enhanced data synchronization system dynamically selects between incremental and bulk update paths based on performance statistics, estimating the time required for each path and switching accordingly to optimize data synchronization, thereby improving operational efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If manual selection of update path is used, then system complexity is reduced, but synchronization latency increases and performance deteriorates

Engineering Contradiction:
Improvesynchronization speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system dynamically selects between incremental and bulk update paths based on real-time performance statistics and workload characteristics. The update path selection is not fixed but adapts continuously to changing conditions, allowing the system to optimize synchronization speed without requiring complex manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system automatically monitors its own performance statistics and makes autonomous decisions about which update path to use. The replication system self-adjusts its behavior based on observed workload patterns and performance metrics, eliminating the need for external manual intervention while maintaining optimal performance.

Inventive Principle:
Principle #25Self-service

2Reliability

If incremental update path is used, then data consistency is maintained, but transactional costs increase under high workload

Engineering Contradiction:
Improvedata consistencyVSAvoidtransactional cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically switches between incremental and bulk update paths based on workload intensity and performance statistics. Under low-to-moderate workloads, it uses incremental updates to maintain data consistency. Under high workloads, it transitions to bulk updates to reduce transactional costs, automatically adapting to current system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes its operational parameters by selecting different update paths based on observed performance characteristics and workload patterns. This parameter change allows the system to optimize the trade-off between data consistency and transactional cost efficiency under varying operational conditions.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If bulk update path is used, then transactional costs are reduced, but synchronization latency increases

Engineering Contradiction:
Improvetransactional costVSAvoidsynchronization latency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system dynamically determines when to use bulk updates versus incremental updates based on real-time performance statistics. Bulk updates are selectively applied when performance metrics indicate they will reduce overall transactional costs without causing excessive synchronization latency, allowing the system to optimize the trade-off between these two factors.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of performance statistics and workload characteristics before selecting the update path. This preliminary assessment allows the system to predict whether a bulk update will reduce transactional costs more than it will increase synchronization latency, making informed decisions in advance.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If static update path selection is used, then system simplicity is maintained, but adaptability to changing workloads deteriorates

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidselection mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically monitors its own performance statistics and workload characteristics, making autonomous decisions about update path selection. This self-service capability provides adaptability to changing workloads without requiring complex external configuration or management overhead.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses performance statistics as feedback to continuously optimize update path selection. By monitoring synchronization performance, transactional costs, and workload patterns, the system adjusts its behavior adaptively, achieving high workload adaptability through a relatively simple feedback-driven mechanism.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11397718B2Dynamic selection of synchronization update path
Publication Date: 2022.07.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11397718B2 patent drawing
  • US11397718B2 patent drawing
  • US11397718B2 patent drawing

AI summary

A method comprises receiving a stream of change log records from a source database system; generating change statistics based on a number of pending changes per table partition according to the change log records; estimating, based on performance statistics, a first amount of time for applying the pending changes to a target database system using an incremental update path; estimating, based on the performance statistics, a second amount of time for applying the pending changes to the target database using a bulk update path; dynamically selecting, based on comparison of the first amount of time with the second amount of time, one of the incremental update path and the bulk update path for applying the pending changes to the target database system; and applying the pending changes to the target database system using the selected update path.