Client-Side Partition-Aware Batching for Database Insert Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed database systems face inefficiencies in computational load and network bandwidth utilization during batch insert operations, especially when records are distributed across multiple database nodes or when a large number of records need to be inserted.

Innovation Solution

Generating partition metadata by a server to guide client-side partition-aware routing, allowing clients to split records into batches and distribute them efficiently across different database nodes, facilitating parallel processing and reducing the computational load and network bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If records are distributed across multiple database nodes, then data storage capacity and processing parallelism are improved, but computational load and network bandwidth utilization become inefficient

Engineering Contradiction:
Improvebatch insert processing capacityVSAvoidnetwork bandwidth utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the batch insert operation into multiple partition-specific batches, where each batch is routed to the appropriate database node based on partition metadata. This segmentation allows parallel processing across multiple nodes while optimizing network bandwidth usage by sending only relevant data to each node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-computing partition metadata that indicates how to partition records between database nodes. This metadata is generated before the batch insert operation, allowing the client to efficiently route records without requiring complex runtime decisions at the server side.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If records are distributed across multiple database nodes, then data storage capacity and processing parallelism are improved, but computational load and network bandwidth utilization become inefficient

Engineering Contradiction:
Improvebatch insert processing capacityVSAvoidcomputational load at database nodes
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The batch insert operation is segmented into partition-specific batches, with each batch routed to the appropriate database node. This segmentation distributes computational load evenly across nodes, preventing any single node from being overwhelmed while maintaining parallel processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the partitioning logic from the server-side processing and moves it to the client-side. By using pre-computed partition metadata, the client determines which records belong to which partitions before transmission, removing unnecessary computational overhead from the database nodes.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the client waits for replies from the server for batch insert requests, then data accuracy and error handling are improved, but processing speed and parallelism are reduced

Engineering Contradiction:
Improvebatch insert operation reliabilityVSAvoidbatch insert processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary validation and partitioning of records before submitting batch insert requests. By using pre-computed partition metadata and validating records upfront, the system reduces the need for complex server-side verification, enabling faster parallel processing while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9720949B2Client-side partition-aware batching of records for insert operations
Publication Date: 2017.08.01 SAP SE
  • US9720949B2 patent drawing
  • US9720949B2 patent drawing
  • US9720949B2 patent drawing

AI summary

Client-side partition-aware batch insert operations are presented. For example, a server generates partition metadata, which is provided to a client. The client uses the partition metadata to determine the database nodes to which to send batch insert requests. For example, the client divides batch insert data, such as records for a partitioned table, among multiple database nodes having partitions of the table. The client issues batch insert requests to the respective database nodes for execution. When executed by the database nodes, batch insert operations can be performed in parallel.