Compression Units in Database Index Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face inefficiencies in data retrieval due to large index sizes, leading to increased storage costs and performance issues, as current compression techniques are not effectively applied to indexes, resulting in high decompression overhead during frequent access.
Innovation Solution
The implementation of compression units within database index blocks, where each unit is self-describing and uses a customized compression scheme, reducing storage footprint and I/O operations while maintaining fast access times by storing metadata within the unit and allowing transparent access to index entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compression techniques are applied to database indexes, then storage requirements are reduced, but decompression overhead increases during frequent access
Solution Approach 1:
The index block is divided into multiple compression units, each independently compressed with its own compression scheme. This segmentation allows selective decompression of only the necessary units during query execution, reducing overall decompression overhead while maintaining storage efficiency.
Solution Approach 2:
The patent implements dynamic compression scheme selection where the compression approach is adapted based on the specific characteristics of each compression unit (e.g., data distribution, cardinality). This dynamic approach optimizes the balance between compression ratio and decompression speed for each unit, reducing total decompression overhead.
2Quantity of substance
If traditional compression schemes are used on indexes, then storage footprint is reduced, but access performance deteriorates due to decompression requirements
Solution Approach 1:
Different compression schemes are applied to different compression units within the same index block based on their local characteristics. This local quality approach ensures that each unit is compressed with the most appropriate method, optimizing both storage efficiency and access performance for that specific unit.
Solution Approach 2:
Each compression unit is self-describing, containing metadata that identifies its compression scheme and enables independent decompression. This self-service capability allows the system to quickly identify and decompress only the necessary units without processing the entire index block, maintaining access speed.
3Reliability
If index size is increased to improve query selectivity, then storage costs increase, but I/O operations increase leading to performance problems
Solution Approach 1:
The patent changes the physical parameter of index storage by applying compression, effectively reducing the size of the index while maintaining its logical structure and query selectivity capabilities. This parameter change allows the same index to provide the same selectivity with reduced storage footprint and I/O requirements.
4Quantity of substance
If compression is applied to frequently accessed index data, then storage efficiency improves, but decompression overhead increases with each access
Solution Approach 1:
By segmenting the index into independent compression units with self-describing metadata, the system can decompress only the specific units needed for a given query rather than the entire index. This selective decompression maintains storage efficiency while significantly improving access efficiency for frequently queried data.
Data Source
AI summary
A method and apparatus for compression units in an index block is provided. A particular leaf block of a database index for a table is generated. The particular leaf block corresponds to a particular range of key values. A compression scheme is determined for a plurality of index entries with key values within the particular range. A compression unit that includes a plurality of compressed index entries is generated by applying the compression scheme to the plurality of index entries. Compression metadata describing the compression scheme is generated. The compression unit and the compression metadata is stored in the particular leaf block. In response to a request, at least a portion of the compression unit is decompressed to access one or more index entries.


