Multi-Dimensional Key Compression for Search Without Decompression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face inefficiencies in storing and retrieving large volumes of multi-dimensional data, particularly in online analytical processing (OLAP) systems, where complex queries require significant processing and storage resources, and existing compression methods do not effectively address redundancy in multi-dimensional keys.

Innovation Solution

A method for compressing multi-dimensional keys by identifying common and varying bit slots, forming masks and patterns, and storing compressed keys, allowing for efficient storage and search operations without decompression, using dictionary compression and bit translation techniques within a multi-dimensional online analytical processing (MOLAP) system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multi-dimensional keys are stored in uncompressed format, then search operations are simple, but storage space is wasted and compression ratio is low

Engineering Contradiction:
Improvestorage spaceVSAvoidcompression structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The multi-dimensional key is segmented into multiple bit slots, where common bits across multiple keys are extracted and stored separately in a compression structure, while varying bits are stored in the original key structure. This segmentation allows efficient storage by eliminating redundancy while maintaining fast search capability through the use of masks and patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Common bits that are identical across multiple multi-dimensional keys are extracted and stored separately in a compression structure. This extraction process removes redundant information from each individual key, significantly reducing storage requirements while preserving the ability to reconstruct full keys when needed for search operations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If compression is applied to multi-dimensional keys, then storage efficiency improves, but search performance may degrade due to decompression requirements

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsearch speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

Masks and patterns are pre-computed and stored alongside the compressed keys. These masks indicate which bit positions are common versus varying, and patterns store the actual common bit values. During search operations, these pre-computed structures enable direct comparison without requiring full decompression of the compressed keys, thus maintaining high search speed while benefiting from compression.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If all bit slots are compressed, then compression ratio increases, but ability to perform fast searches without decompression is lost

Engineering Contradiction:
Improvecompression ratioVSAvoidsearch operation simplicity
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

Different bit slots within the multi-dimensional keys are treated differently based on their characteristics. Common bit slots (identical across multiple keys) are compressed and stored in the compression structure, while varying bit slots (different across keys) are retained in the original key structure. This local differentiation optimizes both compression ratio and search efficiency by applying compression only where beneficial.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11036685B2System and method for compressing data in a database
Publication Date: 2021.06.15 FUTUREWEI TECHNOLOGIES INC
  • US11036685B2 patent drawing
  • US11036685B2 patent drawing
  • US11036685B2 patent drawing

AI summary

A method includes comparing a search key that includes bits having respective values and bit positions to a mask to identify masked and unmasked portions of the search key. The mask corresponds to multi-dimensional keys and has first and second values in bit positions corresponding to and not corresponding to, respectively, common bits. Each common bit has a respective same value and occurs in a respective same position in the multi-dimensional keys. The masked and unmasked portions are bits at bit positions corresponding to bit positions of bits of the mask having first and second values, respectively. The method includes determining, based on determining that values in bit positions of the masked portion match values in corresponding bit positions of a pattern, that the unmasked portion matches a compressed key without decompressing the compressed key, and based thereon, identifying a successful match between the search and compressed keys.