Active-Active Database Batch Job Synchronization via Pre-Locking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Active-active database architectures face performance issues due to data synchronization delays and increased wait times during batch job execution, leading to inefficiencies and resource wastage, particularly when modifying multiple rows of data.

Innovation Solution

Implementing a method where a processor coordinates batch job execution across both source and target database servers by synchronizing start points, employing pre-lock functions for update and delete statements, pre-loading for insert statements, and lock avoidance for select statements, thereby reducing communication overhead and minimizing lock conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data synchronization is performed between source and target database servers in active-active architecture, then high availability is guaranteed, but performance deteriorates due to communication overhead and wait times

Engineering Contradiction:
Improvehigh availabilityVSAvoidbatch job execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-locking rows before batch job execution and pre-loading data into buffer pools before synchronization operations. This prepares the system in advance to minimize communication overhead and wait times during actual batch processing, thereby improving productivity while maintaining reliability through the active-active architecture

Inventive Principle:
Principle #10Preliminary action

2Productivity

If batch job is executed on both source and target servers simultaneously, then execution efficiency improves, but lock conflicts increase

Engineering Contradiction:
Improvebatch job execution efficiencyVSAvoidlock conflicts
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent uses preliminary action by acquiring locks on rows before the batch job execution begins. This pre-locking mechanism ensures that when simultaneous execution occurs on both source and target servers, lock conflicts are minimized because the locking state is already established and coordinated between servers

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the source server and target server continuously communicate lock status and synchronization state. When a lock conflict is detected on one server, the system receives feedback and coordinates with the other server to resolve the conflict, allowing simultaneous execution while managing lock conflicts effectively

Inventive Principle:
Principle #23Feedback

3Reliability

If communication between source and target servers is increased to maintain synchronization, then data consistency is improved, but wait times increase

Engineering Contradiction:
Improvedata consistencyVSAvoidwait times
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-loading data into buffer pools before synchronization operations and pre-establishing lock states. This reduces the amount of real-time communication needed during batch execution, thereby maintaining data consistency while minimizing wait times caused by inter-server communication

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous batch job execution on both source and target servers simultaneously rather than sequentially. By coordinating lock states and using buffer pools to reduce communication frequency, the system maintains continuous useful action on both servers, improving throughput while managing communication overhead

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11461315B2Batch job performance improvement in active-active architecture
Publication Date: 2022.10.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11461315B2 patent drawing
  • US11461315B2 patent drawing
  • US11461315B2 patent drawing

AI summary

In an approach for improving performance of a batch job running on database servers in an active-active architecture. A processor, responsive to a batch job being ready to be executed on a source database server, sends a first communication to a target database server with a synchronization start point. While executing the batch job, a processor utilizes a pre-lock function, pre-load function, and lock avoidance function to prevent lock conflicts. A processor, responsive to either the source database server or the target database server encountering a commit statement, suspends the respective database server and sends a second communication to ask if the other respective database server is ready to complete the commit statement. A processor, responsive to the other respective database server confirming its ready to complete the commit statement, completes the commit statement on both the source database server and the target database server.