Parallel Database Partitioning for Payment Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face performance bottlenecks due to locking mechanisms when multiple applications access the same data, limiting their ability to handle high transaction volumes without significant hardware investments.

Innovation Solution

Implementing a parallel processing technique by assigning multiple application servers to segments of a database table, allowing data to be distributed and processed independently across these segments, reducing the need for locks and enabling scalable processing of payment orders.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanisms are used to prevent data corruption, then data integrity is maintained, but system throughput and transaction processing speed deteriorate

Engineering Contradiction:
Improvedata integrityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The database table is divided into multiple segments (partition 222), with each segment assigned to a specific application server. This segmentation allows multiple application servers to process different segments simultaneously without requiring locks on the entire table, thereby maintaining data integrity within each segment while enabling parallel processing across segments to improve system throughput.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple application servers access the same database table, then processing capacity increases, but lock contention and waiting time increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidwaiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By segmenting the database table and assigning each segment to a dedicated application server, the system enables multiple servers to work in parallel on different segments simultaneously. This eliminates lock contention between servers for the same data, allowing processing capacity to scale with the number of servers while minimizing waiting time as each server operates independently on its assigned segment.

Inventive Principle:
Principle #1Segmentation

3Speed

If indexes are built for all partitions, then query performance improves, but storage space consumption increases

Engineering Contradiction:
Improvequery performanceVSAvoidstorage space
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The system applies different indexing strategies to different partitions based on their specific characteristics and access patterns. Indexes are built only for partitions that require them for efficient querying, while partitions with different characteristics may use alternative access methods. This local optimization approach improves query performance for partitions that need indexes while conserving storage space by avoiding unnecessary indexes on other partitions.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8051034B2Parallel processing of assigned table partitions
Publication Date: 2011.11.01 SAP SE
  • US8051034B2 patent drawing
  • US8051034B2 patent drawing
  • US8051034B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for parallel processing of assigned table partitions. In general, a group of data may be received and at least a portion of the data may be caused to be assigned to an application server to process the data based at least in part on the application server and the at least a portion of the data being assigned to a same segment. A segment may represent one or more partitions of data of a database, such as a multidimensional database or a flat database. The data that is processed may be payment items that are processed as part of payment order processing by a payment engine.