Dictionary Compression for Row-Segmented Database Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Relational and object-relational databases face inefficiencies in storage and access due to inefficient data block storage, leading to increased storage space consumption and slow retrieval and update times.
Innovation Solution
Implementing dictionary-based compression techniques that create a token dictionary specific to each data block, allowing for the tokenization of column values within the block, enabling efficient compression of row-segmented data blocks by mapping tokens to values and using block-level token dictionaries for decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If dictionary-based compression is applied to row-segmented data blocks, then storage space efficiency is improved, but decoding complexity increases
Solution Approach 1:
The patent divides the data block into row segments, with each segment containing a subset of columns. This segmentation allows the compression system to process and decode only relevant segments based on query requirements, reducing the overall decoding complexity while maintaining storage efficiency.
Solution Approach 2:
The patent implements column-level compression where each column or column group has its own compression parameters and token dictionaries. This local quality approach allows different compression strategies for different columns based on their characteristics, improving storage efficiency without uniformly increasing decoding complexity across all data.
2Quantity of substance
If row-segmented data blocks are compressed using block-level token dictionaries, then storage efficiency is improved, but access time for specific columns increases
Solution Approach 1:
The patent segments rows into multiple row segments where each segment contains only specific columns. This allows the system to retrieve and decompress only the necessary row segments for a given query, avoiding the need to decompress entire data blocks and reducing access time for specific columns.
Solution Approach 2:
The patent applies column-specific compression techniques where each column or column group uses its own token dictionary and compression parameters. This enables the system to optimize compression for storage while allowing rapid access to specific columns by directly accessing their compressed representations without processing other columns.
Data Source
AI summary
A data block stores one or more rows of a database table or relation. An entire row may not fit in a data block. Part of the row is stored in one data block, and another part is stored in another data block. Each row part is referred to herein as a row segment and the data blocks are referred to as row-segmented data blocks. Data block dictionary compression is used to compress row-segmented data blocks. Each data block contains a dictionary that is used to compress rows in the data block, including row segments. The dictionary in a data block is used to compress row segments in the data block. Hence, multiple dictionaries may be used to decompress a row comprised of row segments.


