Bulk Insert Optimization in Distributed Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed database systems experience increased cross-node communication and load on processing nodes during bulk data insertions, particularly when handling large volumes of data, due to multiple hops of data transfer between index servers.

Innovation Solution

A system that identifies target index servers based on partition criteria, partitions data records into subsets, and inserts these subsets in parallel directly to the respective target index servers, reducing network load and congestion by processing data locally.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data records are pruned at the index server selected by the client and uploaded through multiple hops, then data can be inserted into partitioned tables, but cross-node communication increases and load on processing nodes increases

Engineering Contradiction:
Improvebulk insert capabilityVSAvoidnetwork load
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The client device performs preliminary actions by identifying target index servers and partitioning data records before upload, based on partition criteria retrieved in advance. This pre-processing eliminates the need for intermediate routing hops during the actual insert operation, as data is directly uploaded to the correct destination servers from the start.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the bulk insert process into distinct phases: retrieving partition criteria, identifying target servers, partitioning data records into subsets, and uploading to respective servers. This segmentation allows parallel processing of multiple data subsets simultaneously, improving overall productivity while reducing network load through direct connections.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data records are transferred through multiple hops between index servers, then distributed database insertion can be achieved, but network congestion increases

Engineering Contradiction:
Improvedistributed database supportVSAvoidinsertion speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary identification of target index servers and partitioning of data records before the actual upload process. By determining the destination servers in advance based on partition criteria, the system eliminates intermediate routing hops, enabling direct uploads that maintain distributed database adaptability while significantly improving insertion speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention changes the network communication dimension from multi-hop sequential transfer to direct parallel connections. Multiple data subsets are uploaded simultaneously to different target index servers through direct connections, transforming the network topology utilization from hierarchical routing to parallel distributed access.

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

3Quantity of substance

If conventional bulk insert methods are used with multiple hops, then data can be distributed across index servers, but load balancing deteriorates

Engineering Contradiction:
Improvedata distributionVSAvoidload balance
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system segments the data records into multiple subsets based on partition criteria, with each subset destined for a specific target index server. This segmentation enables balanced distribution of data across multiple servers, as each server receives a proportional share of the total data load, improving load balancing while maintaining effective data distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client device performs preliminary partitioning of data records into subsets corresponding to different target index servers before upload. This pre-partitioning ensures that data is evenly distributed across the distributed database infrastructure from the outset, achieving both data distribution and load balance simultaneously.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11526500B2System and method for initiating bulk inserts in a distributed database
Publication Date: 2022.12.13 SAP SE
  • US11526500B2 patent drawing
  • US11526500B2 patent drawing
  • US11526500B2 patent drawing

AI summary

Described herein is a system and method for initiating a bulk insert in a distributed database. The system described herein provides for a client to identify target index servers of the data records by examining the data records. The system identifies a partition criterion of the target index servers and partitions the data records based on a partition criterion, into subsets of data records. The system builds buckets including the subsets of data records that correspond to a partition. The system inserts each bucket including the subset of the data corresponding to a specific partition to the respective target index server where the specific partition is physically located and inserts the subset of data records in the table locally. The system inserts each bucket in each respective target index server in parallel.