Predicate Result Cache for Compressed Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for performing scan-and-filter operations on compressed tabular data incur significant compression overhead, as all rows are decompressed to evaluate filtering criteria, leading to inefficient retrieval and storage times.

Innovation Solution

The implementation of early predicate evaluation with conjunction result caching, where a cache records the results of predicate conjunction evaluations for each token, allowing for the bypass of unnecessary decompression and evaluation by checking the cache for FALSE results, thereby reducing compression overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compressed storage is used for tabular data, then storage space is reduced, but computational overhead increases during scan-and-filter operations

Engineering Contradiction:
Improvestorage spaceVSAvoidcomputational overhead
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing and caching predicate evaluation results for compressed rows before actual query execution. The system evaluates predicates on compressed data formats in advance, stores these evaluation results in a cache, and retrieves them during query operations. This eliminates the need to decompress and re-evaluate predicates during scan-and-filter operations, thus reducing computational overhead while maintaining compressed storage benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling compressed data structures to carry their own predicate evaluation results within the compressed format itself. The compressed rows include embedded cache data that contains pre-evaluated predicate results, allowing the data to serve its own query evaluation needs without external decompression processing. This self-contained approach reduces I/O and computational overhead during query operations

Inventive Principle:
Principle #25Self-service

2Reliability

If all rows are decompressed to evaluate filtering criteria, then accurate filtering is achieved, but retrieval time increases

Engineering Contradiction:
Improvefiltering accuracyVSAvoidretrieval time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by evaluating and caching only the necessary predicate results on compressed rows that are likely to satisfy the query conditions, rather than fully decompressing all rows. The system performs partial predicate evaluation on compressed data, caches these partial results, and uses them to quickly filter out non-matching rows before any potential decompression occurs. This partial evaluation approach maintains filtering accuracy for the rows that matter while avoiding unnecessary processing of non-matching rows

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent introduces an intermediary cache layer between the compressed storage and the filtering operation. This cache stores pre-evaluated predicate results that act as intermediaries, allowing the system to determine row eligibility without direct decompression. The cache mediates between the compressed data format and the filtering requirements, enabling accurate filtering decisions to be made on compressed representations, thus reducing retrieval time while maintaining filtering accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If compression is applied to reduce storage space, then storage efficiency improves, but scan-and-filter operation performance deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidoperation performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-computing predicate evaluation results and caching them in the compressed data structure before query operations. This advance preparation allows scan-and-filter operations to retrieve and use pre-evaluated results directly from the compressed format without performing expensive decompression and predicate evaluation during actual query execution, thus maintaining both storage efficiency and operation performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by embedding predicate evaluation results directly within the compressed data structure. The compressed rows become self-sufficient by containing their own evaluation cache data, enabling them to participate in scan-and-filter operations without requiring external decompression processing. This self-contained compressed format maintains storage efficiency while improving operation performance by eliminating redundant decompression steps

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8812523B2Predicate result cache
Publication Date: 2014.08.19 ORACLE INT CORP
  • US8812523B2 patent drawing
  • US8812523B2 patent drawing
  • US8812523B2 patent drawing

AI summary

In token compression, a column value is represented by a encoded token. During early predicate evaluation, the result that a decoded token in a column does not satisfy a predicate condition in a predicate conjunction is recorded in a cache as a “FALSE”. Such a result not only means that when the column contains that token that the predicate condition is not satisfied, but also that a predicate conjunction containing the predicate condition is not satisfied. When performing early predicate evaluation on a subsequent row on a token in a column, the conjunction result cache is referred to. If the cache records a FALSE for that token in that column, then it is known the predicate conjunction cannot be satisfied by the decoded token.