Dictionary Compression for Parallel Database Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face limitations in processing speed due to hardware constraints, data storage methods, and restricted co-processing options, which hinder efficient data processing and query execution.

Innovation Solution

The implementation of a parallelized database system architecture that includes a parallelized data input, query, and storage subsystems, utilizing a distributed network of computing devices with multiple processing core resources for parallel execution of operations, and employing global dictionary compression and data compression techniques to optimize data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional database storage and processing methods are used, then hardware simplicity is maintained, but processing speed and query execution efficiency deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The database system is divided into multiple computing devices forming a distributed network, with each device having multiple processing core resources. Data is partitioned across these devices, enabling parallel processing of queries and data operations, thereby increasing processing speed while distributing system complexity across multiple independent units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-threaded sequential processing to multi-dimensional parallel processing by utilizing multiple processing core resources across multiple computing devices. This dimensional expansion allows simultaneous execution of multiple query operations, fundamentally improving processing speed beyond what single-device sequential processing can achieve.

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

2Productivity

If data is stored in uncompressed format, then data retrieval and processing simplicity is maintained, but storage efficiency and processing time deteriorate

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidstorage complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Data compression is performed in advance during data input and storage operations. By pre-compressing data before it is fully written to storage, the system reduces the volume of data that needs to be processed and transferred subsequently, thereby improving processing efficiency without adding complexity to the retrieval operations themselves.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts compression parameters and techniques based on data characteristics and query patterns. By changing compression parameters adaptively, the system optimizes the balance between storage efficiency and processing speed, improving productivity while managing storage complexity through parameter optimization rather than structural complexity.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If parallel processing is implemented, then query execution speed is improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvequery execution timeVSAvoidsystem coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The distributed database system implements self-service mechanisms where each computing device autonomously manages its local processing core resources and makes independent decisions about query execution. This decentralized autonomy reduces the need for complex centralized coordination, allowing parallel processing to proceed with minimal coordination overhead while still achieving reduced query execution times.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces intermediary components that facilitate communication and coordination between processing core resources without requiring direct peer-to-peer interaction. These intermediaries manage the complexity of parallel processing coordination, enabling improved query execution time while containing system coordination complexity through standardized intermediary interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If more processing core resources are added to each computing device, then processing capacity increases, but hardware cost and complexity increase

Engineering Contradiction:
Improvedata processing capacityVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each processing core resource is designed to be universal and multi-functional, capable of executing various types of database operations and queries. This universality allows the system to increase processing capacity by adding identical multi-functional cores rather than requiring specialized hardware for different functions, thereby increasing productivity while controlling hardware complexity through standardization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11256696B2Data set compression within a database system
Publication Date: 2022.02.22 OCIENT HOLDINGS LLC
  • US11256696B2 patent drawing
  • US11256696B2 patent drawing
  • US11256696B2 patent drawing

AI summary

A method includes receiving a data set that includes a plurality of data records, where a data record includes a first data field containing a first fixed length data value and a second data field containing a first variable length data value. The method further includes accessing a compression dictionary for the second data field, where a first entry of the compression dictionary includes a key field storing a first fixed length index value and a value field storing the first variable length data value, and where the key field has a smaller data size than the value field. The method further includes creating a storage data set based on the compression dictionary and sending the storage data set to a storage sub-system for storage, where the first variable length data value of the second data field of the data record is replaced with the first fixed length index value.