Parallel Index Creation on Sorted Data Using Worker Processes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional index creation for sorted data in database systems is serial, leading to inefficient processing time and resource consumption, especially when dealing with compressed or encrypted data.

Innovation Solution

The creation of an index for sorted data is parallelized by dividing the data into logical partitions, each processed by a separate worker process, with sub-indexes being built and later merged by a coordinating process, allowing for simultaneous processing and efficient handling of compressed and encrypted data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serial query plan is used for index creation, then implementation simplicity is maintained, but processing time and resource consumption are excessive

Engineering Contradiction:
Improveindex creation speedVSAvoidquery plan complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the index creation process into multiple segments by partitioning the table data into N+1 logical partitions and assigning each partition to a separate worker process. This segmentation enables parallel processing of index creation, significantly improving productivity while managing complexity through structured division of labor between coordinator and worker processes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional serial processing approach to a multi-dimensional parallel processing architecture by introducing multiple worker processes operating simultaneously on different partitions, with a coordinator process managing the overall workflow. This dimensional expansion resolves the contradiction by adding parallelism without creating unmanageable complexity

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

2Loss of time

If multiple worker processes are used for parallel index creation, then processing time is reduced, but coordination complexity increases

Engineering Contradiction:
Improveindex creation timeVSAvoidprocess coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the index creation workload into N+1 independent partitions, each handled by a dedicated worker process. This segmentation reduces the time loss by enabling simultaneous processing while managing coordination complexity through clear partition boundaries and a centralized coordinator process that orchestrates the worker processes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a coordinator process as an intermediary that manages communication and coordination between multiple worker processes. This mediator handles the complexity of parallel process management, allowing worker processes to focus on their specific partition tasks while the coordinator manages merging and overall coordination, thus reducing time loss without proportionally increasing coordination complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If compressed data rows are processed serially, then memory usage is low, but decompression time consumes excessive processing time

Engineering Contradiction:
Improvedecompression processing speedVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the decompression workload by assigning different data partitions to different worker processes. Each worker process decompresses its assigned partition in parallel, significantly improving decompression processing speed while distributing computational resource consumption across multiple processes, thus resolving the contradiction between productivity and energy use

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9959312B2High performance index creation on sorted data using parallel query plans
Publication Date: 2018.05.01 SYBASE INC
  • US9959312B2 patent drawing
  • US9959312B2 patent drawing
  • US9959312B2 patent drawing

AI summary

Creation of an index for a table of sorted data for use by a data storage application is initiated. Thereafter, N+1 logical partition of rows of the table are defined so that each logical partition has a corresponding worker process. Each worker process then builds a sub-index based on the corresponding logical partition which are later merged to form the index. Related apparatus, systems, techniques and articles are also described.