Parallel Transaction Log Replication via Net-Row Compilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Replicate databases take longer to update than primary databases due to the serial nature of transaction logging, which can lead to inefficiencies in data replication and increased maintenance costs.

Innovation Solution

The implementation of a replication server that uses a transaction compiler to group transactions, convert log changes into net-row changes, and apply them in parallel, along with a transaction coordinator to determine optimal application order, facilitating high-speed adaptive replication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial transaction logging is used to maintain replicate databases, then transactional consistency is ensured, but replication speed decreases and maintenance time increases

Engineering Contradiction:
Improvetransactional consistencyVSAvoidreplication speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the replicate database into multiple independent segments or partitions. Each segment can be updated independently and in parallel, breaking the serial update process into concurrent operations while maintaining consistency within each segment

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces parallelism as a new dimension for transaction processing by allowing multiple transactions to be applied simultaneously to different segments of the replicate database, transforming the single-threaded serial process into a multi-threaded parallel process

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

2Manufacturing precision

If serial transaction logging is used to maintain replicate databases, then data accuracy is maintained, but the number of transactions required for replication increases and maintenance costs rise

Engineering Contradiction:
Improvedata accuracyVSAvoidmaintenance time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of the transaction log to identify independent transactions that can be executed in parallel. By pre-processing and categorizing transactions before application, the system prepares the groundwork for efficient parallel execution while ensuring data accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous parallel processing of transaction logs by maintaining multiple active transaction application threads that continuously process and apply transactions to different database segments simultaneously, eliminating idle time and maximizing resource utilization

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9760617B2Applying transaction log in parallel
Publication Date: 2017.09.12 SAP SE
  • US9760617B2 patent drawing
  • US9760617B2 patent drawing
  • US9760617B2 patent drawing

AI summary

System, method, computer program product embodiments and combinations and sub-combinations thereof for data replication in a database system environment are described. In an aspect, the data replication includes grouping, in-memory, a plurality of transactions to be replicated as a single transaction from a source database system to a target database system. A plurality of net row changes is compiled for the plurality of transactions, and data inconsistency detection and resolution within a command application order are performed. The plurality of net row changes are organized in segments and the segments can be applied simultaneously in bulk to the target database system.