Database Dictionary Decompression Using Block Re-Pair Front Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database compression methods, such as Re-Pair Front Coding (RPFC), face challenges with high compression times and memory consumption, especially when dealing with large string dictionaries, making them impractical for datasets exceeding a few hundred megabytes.

Innovation Solution

The proposed solution is a block re-pair front coding (BRPFC) method that splits the dictionary into blocks containing a fixed number of front-coded buckets, applies Re-Pair compression to each block individually, and uses a termination character to facilitate efficient compression and decompression, reducing the size of the text to be compressed and optimizing compression times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If Re-Pair compression is applied to the entire string dictionary, then compression ratio is improved, but compression time and memory consumption increase significantly

Engineering Contradiction:
Improvedictionary sizeVSAvoidcompression time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The patent divides the string dictionary into multiple blocks, where each block contains a subset of the dictionary data. Re-Pair compression is applied independently to each block rather than the entire dictionary at once. This segmentation reduces the computational burden and memory requirements for each compression operation while maintaining overall compression effectiveness across the complete dictionary.

Inventive Principle:
Principle #1Segmentation

2Loss of substance

If Re-Pair compression is applied to the entire string dictionary, then compression ratio is improved, but memory consumption increases

Engineering Contradiction:
Improvedictionary sizeVSAvoidmemory consumption
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The string dictionary is segmented into multiple smaller blocks, allowing Re-Pair compression to process each block independently with reduced memory footprint. This enables compression of large dictionaries that would otherwise exceed available memory resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies compression to partial portions (blocks) of the dictionary rather than requiring the entire dictionary to be loaded into memory simultaneously. This partial action approach allows compression to proceed with manageable memory requirements.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of substance

If the dictionary is processed as a single unit, then compression completeness is maintained, but access time increases

Engineering Contradiction:
Improvecompression completenessVSAvoidaccess time
Core Design Contradiction:
Loss of substanceVSSpeed

Solution Approach 1:

The dictionary is divided into blocks that can be independently compressed and stored. During access operations, only the relevant blocks need to be decompressed rather than the entire dictionary, significantly reducing access time while maintaining complete compression coverage.

Inventive Principle:
Principle #1Segmentation

4Productivity

If block-based compression is used, then compression time is reduced, but compression complexity increases

Engineering Contradiction:
Improvecompression speedVSAvoidcompression algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The complex task of compressing a large dictionary is segmented into multiple simpler sub-tasks, each handling a smaller block. This reduces the instantaneous complexity of each compression operation while the overall system manages multiple blocks through standardized interfaces.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11502705B2Advanced database decompression
Publication Date: 2022.11.15 SAP SE
  • US11502705B2 patent drawing
  • US11502705B2 patent drawing
  • US11502705B2 patent drawing

AI summary

A method, a system, and a computer program product for decompressing data. One or more compressed blocks in a set of stored compressed blocks responsive to a request to access data in the set of stored compressed blocks are identified. String prefixes inside the identified compressed blocks are decompressed using front coding. String suffixes inside the identified compressed blocks are decompressed using a re-pair decompression. Uncompressed data is generated.