Columnar Data Compression with Variable-Size Persistent Pages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database compression techniques, especially in cloud-based columnar databases, are computationally expensive and inefficient due to the need for delta merge operations and lack of global compression optimization, leading to suboptimal storage efficiency and high computational costs.

Innovation Solution

A compression engine that generates dictionaries of unique values in sorted order to select the most efficient compression techniques for each data chunk, such as dictionary compression, null-value compression, single-value compression, prefix/suffix compression, run-length encoding, or frame of reference compression, based on the characteristics of the data, and allocates persistent pages accordingly to minimize computational resources and maximize storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional compression techniques are used in cloud-based columnar databases, then storage efficiency is improved, but computational costs increase significantly due to delta merge operations

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcomputational costs
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent segments the data storage into immutable data chunks with fixed compression techniques, eliminating the need for expensive delta merge operations. Each chunk is independently compressed and stored, allowing parallel processing and reducing computational overhead while maintaining storage efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies compression techniques preliminarily during data ingestion before data is stored in immutable chunks. By pre-compressing data with appropriate techniques (dictionary compression, run-length encoding, etc.) based on data characteristics, the system avoids subsequent computational expenses of re-compression during merge operations.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If global compression optimization is implemented, then compression ratios are improved, but device complexity increases due to coordination overhead

Engineering Contradiction:
Improvecompression ratioVSAvoidcoordination overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements local compression optimization by analyzing data characteristics within each immutable chunk and applying the most suitable compression technique locally. Each chunk can use different compression methods (dictionary compression for text, run-length encoding for repetitive data, etc.) based on its specific data patterns, achieving high compression ratios without global coordination complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs self-service compression optimization by automatically analyzing data characteristics and selecting appropriate compression techniques without external coordination. The compression engine autonomously evaluates data patterns and applies optimal compression methods, eliminating the need for complex global optimization coordination while maintaining high compression ratios.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If multiple compression techniques are evaluated for each data chunk, then compression efficiency is improved, but processing time increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent evaluates multiple compression techniques partially by first applying quick assessment metrics to data chunks and only performing full compression evaluations for techniques that show promise based on initial data characteristics. This selective evaluation approach maintains high compression efficiency while significantly reducing processing time compared to evaluating all techniques exhaustively.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12119845B2Data compression for columnar databases into arbitrarily-sized persistent pages
Publication Date: 2024.10.15 SAP SE
  • US12119845B2 patent drawing
  • US12119845B2 patent drawing
  • US12119845B2 patent drawing

AI summary

A method for compressing columnar data may include generating, for a data column included in a data chunk, a dictionary enumerating, in a sorted order, a first set of unique values included in the first data column. A compression technique for generated a compressed representation of the data column having a fewest quantity of bytes may be identified based at least on the dictionary. The compression technique including a dictionary compression applying the dictionary and/or another compression technique. A compressed data chunk may be generated by applying the compression technique to compress the data column included in the data chunk. The compressed data chunk may be stored at a database in a variable-size persistent page whose size is allocated based on the size of the compressed representation of the data column. Related systems and articles of manufacture are also provided.