Table Compression Using Value Occurrence Vectors for In-Memory Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing methods for large database tables require significant hardware resources due to the need for large amounts of memory and storage space, which can lead to high demands on processor cache, network bandwidth, and overall system performance.

Innovation Solution

The implementation of dictionary-based compression and bit vector compression techniques, which generate columns of dictionary-based compression values, sort columns based on most-frequently occurring values, and use bit vectors to represent these values, allowing for efficient in-memory searches and reduced data storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If large amounts of data are stored in database tables, then search functionality is provided, but memory and storage space requirements increase significantly

Engineering Contradiction:
Improvesearch functionalityVSAvoidmemory and storage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the data storage into multiple compressed columns, where each column stores a specific attribute type (e.g., customer_name, product_name). This segmentation allows for targeted compression techniques to be applied to each column based on its characteristics, reducing overall storage requirements while maintaining search capability across all attributes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates compressed representations (copies) of the original data in multiple formats: dictionary-based compressed columns, bit vector columns, and hybrid columns. These compressed copies enable search operations to be performed on reduced-size data structures that retain the essential information needed for querying.

Inventive Principle:
Principle #26Copying

2Quantity of substance

If data is compressed using dictionary-based and bit vector techniques, then storage requirements are reduced, but data processing complexity increases

Engineering Contradiction:
Improvestorage requirementsVSAvoiddata processing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary compression actions during data loading, organizing data into dictionary-based columns, bit vector columns, and hybrid columns before search operations. This preliminary structuring eliminates the need for complex compression algorithms to be executed during query processing, as the data is already in an optimized format for both storage efficiency and retrieval.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary data structures (dictionary mappings, bit vector representations, and hybrid column formats) that mediate between the original data and the compressed storage format. These intermediaries simplify the processing complexity by providing straightforward lookup and comparison mechanisms during search operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If columns are sorted by most-frequently occurring values, then search efficiency is improved, but sorting time and computational resources increase

Engineering Contradiction:
Improvesearch efficiencyVSAvoidsorting time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent applies sorting locally to individual columns based on their specific characteristics, particularly sorting each column by the frequency of its values. This local sorting approach optimizes search efficiency for each attribute type independently, allowing the most frequently queried values to be positioned in a manner that accelerates retrieval operations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs sorting as a preliminary action during the data loading and compression phase, before any search operations occur. By pre-sorting the compressed columns by value frequency, the system eliminates the need for repeated sorting during queries, amortizing the sorting cost over multiple search operations and improving overall search efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9852169B2Compression of tables based on occurrence of values
Publication Date: 2017.12.26 SAP SE
  • US9852169B2 patent drawing
  • US9852169B2 patent drawing
  • US9852169B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for compression of tables based on occurrence of values. In general, a number representing an amount of occurrences of a frequently occurring value in a group of adjacent rows of a column is generated, a vector representing whether the frequently occurring value exists in a row of the column is generated, and the number and the vector are stored to enable searches of the data represented by the number and the vector. The vector may omit a portion representing the group of adjacent rows. The values may be dictionary-based compression values representing business data such as business objects. The compression may be performed in-memory, in parallel, to improve memory utilization, network bandwidth consumption, and processing performance.