Inverted Index Predicate Evaluation for Query Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional query processing systems face inefficiencies and high resource requirements when evaluating large numbers of predicate statements, particularly due to sequential evaluation and memory-intensive processes, which are not well-suited for dynamic information environments where data stability is low.

Innovation Solution

A query processing system that generates inverted indexes of predicates, allowing for efficient evaluation by mapping predicate values to predicates and representing predicate statements as bit strings for optimized evaluation using bitwise operations, thereby reducing the need for sequential evaluation and improving memory efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional sequential predicate evaluation is used, then system complexity remains low, but query processing efficiency deteriorates significantly

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system pre-computes and stores inverted indexes mapping predicate values to predicate statement identifiers before query execution. This preliminary action allows the query processor to rapidly retrieve relevant predicates without sequential evaluation, dramatically improving query processing efficiency while the pre-computed structure manages the complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates bit string representations (copies) of predicate statements that can be efficiently manipulated using bitwise operations. These bit string copies enable parallel evaluation of multiple predicates simultaneously, improving productivity while the bitwise operations provide an efficient computational model

Inventive Principle:
Principle #26Copying

2Reliability

If comprehensive predicate evaluation is performed on all predicates, then evaluation completeness is improved, but memory usage increases significantly

Engineering Contradiction:
Improveevaluation completenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts and stores only the essential components needed for evaluation: inverted indexes containing predicate values mapped to predicate identifiers, and bit string representations. This extraction eliminates unnecessary data while preserving evaluation completeness by maintaining the critical mapping structures needed to identify and evaluate all applicable predicates

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The inverted indexes are pre-computed and stored, containing only the necessary predicate value to predicate identifier mappings. This preliminary organization allows the system to achieve evaluation completeness by retrieving only relevant predicates for each query value, avoiding the need to load or evaluate all predicates in memory simultaneously

Inventive Principle:
Principle #10Preliminary action

3Speed

If sequential predicate evaluation is used, then implementation simplicity is maintained, but processing speed deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidevaluation mechanism complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system replaces the mechanical sequential evaluation process with a data structure-based retrieval mechanism using inverted indexes. Instead of sequentially checking each predicate, the system performs direct lookups in the inverted index to retrieve applicable predicates, then uses bitwise operations for parallel evaluation, dramatically improving processing speed while the index structure manages the complexity

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11354290B2Query processing using inverted index of predicate statements
Publication Date: 2022.06.07 ADOBE INC
  • US11354290B2 patent drawing
  • US11354290B2 patent drawing
  • US11354290B2 patent drawing

AI summary

A query processing system generates and employs an inverted index of predicates for predicate statement evaluation. The inverted index maps values for variables to predicates that evaluate to true for the corresponding values. When querying input data, the query processing system identifies a value for each variable in the input data. For each value and variable pair, the query processing system identifies predicates mapped to the value for the variable in the inverted index. The query processing system evaluates the predicate statements by treating each predicate identified from the inverted index as true. In some configurations, the query processing system represents each predicate statement using a bit string and evaluates the predicate statements for the input data by setting bits to one for predicates identified from the inverted index and determining predicate statements that evaluate to true based on the bit strings.