Block-Level Table Compression Using Reusable Value Dictionaries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing large amounts of data in database tables requires significant hardware resources due to the need for extensive memory and storage, leading to high demands on processor cache, network bandwidth, and overall system performance.

Innovation Solution

Implementing dictionary-based compression techniques to generate value identifiers, block dictionaries, and block vectors, which allow for efficient data compression by representing repeated values and maintaining data dependencies, thereby reducing memory and storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in uncompressed format in database tables, then data can be accessed and processed directly without compression overhead, but significant hardware resources including memory space, storage capacity, and processor cache are required

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidmemory and storage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the data storage structure by dividing tables into blocks and columns into block dictionaries. Each block dictionary stores compressed data for a specific column block, allowing selective loading and processing of only relevant data segments into memory, thereby reducing overall memory requirements while maintaining processing efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies compression parameters to transform data from uncompressed to compressed format. By changing the data representation parameters (using value identifiers instead of full values, implementing dictionary-based compression), the system reduces storage capacity requirements and memory usage while enabling efficient processing of compressed data

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If compression techniques are applied to reduce data volumes, then memory and storage requirements are reduced, but additional processing steps including compression and decompression are required

Engineering Contradiction:
Improvedata volumeVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary compression actions during data loading and storage. Data is compressed into block dictionaries before being stored, and value identifiers are pre-computed and stored alongside compressed data. This preliminary processing reduces the complexity of runtime operations by having compression artifacts ready for efficient decompression and querying

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces block dictionaries as intermediary structures between the compressed data and the query processing system. These block dictionaries serve as mediators that store both compressed data and metadata (value identifiers, offsets) necessary for efficient decompression and searching, thereby managing processing complexity through structured intermediate representations

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If in-memory processing is used to improve response times, then faster data access is achieved, but large amounts of random access memory space are required to store relevant records

Engineering Contradiction:
Improveresponse timeVSAvoidrandom access memory space
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments data into block-level units organized in block dictionaries, allowing selective loading of only relevant blocks into memory based on query requirements. This segmentation enables in-memory processing of frequently accessed data blocks while keeping less frequently accessed blocks on disk, thereby reducing total memory space requirements while maintaining fast response times for active data

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the data representation parameters by storing compressed data with value identifiers in block dictionaries. This parameter transformation enables more compact in-memory storage of relevant records, allowing larger datasets to fit within available memory space while maintaining the speed benefits of in-memory processing through efficient compression ratios

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7769729B2Block compression of tables with repeated values
Publication Date: 2010.08.03 RENOVUS
  • US7769729B2 patent drawing
  • US7769729B2 patent drawing
  • US7769729B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for block compression of tables with repeated values. In general, value identifiers representing a compressed column of data may be sorted to render repeated values contiguous, and block dictionaries may be generated. A block dictionary may be generated for each block of value identifiers. Each block dictionary may include a list of block identifiers, where each block identifier is associated with a value identifier and there is a block identifier for each unique value in a block. Blocks may have standard sizes and block dictionaries may be reused for multiple blocks.