Query Predicate Caching for Database Processing Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems face significant challenges in efficiently processing large and complex queries, which can take days or weeks to process and require substantial storage for result sets containing hundreds of millions of tuples, due to the need to analyze and optimize predicates in query plans and store entire result sets.

Innovation Solution

A system and method that detect complex queries, identify new predicates from result sets, and use them to expedite the processing of subsequent similar queries, while monitoring and updating these predicates for accuracy and relevance in response to data changes, such as deletions or additions in the underlying data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional systems process large complex queries using traditional query plans, then query accuracy is maintained, but processing time increases to days or weeks and storage requirements increase substantially

Engineering Contradiction:
Improvequery processing speedVSAvoidquery processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis on the first complex query to identify new predicates from its result set. These predicates are cached and prepared in advance, so when a second similar query is detected, the pre-identified predicates can be immediately applied to expedite processing without re-analyzing the entire result set.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the query plan from the first query and reuses it for the second similar query. By copying the structure and pre-identified predicates, the system avoids redundant analysis while maintaining query accuracy through verification mechanisms.

Inventive Principle:
Principle #26Copying

2Reliability

If conventional systems store entire result sets of complex queries, then complete data availability is ensured, but storage requirements increase substantially

Engineering Contradiction:
Improvedata accuracyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system extracts only the essential new predicates from the complete result set of the first query. Instead of storing and processing the entire result set, only the critical filtering predicates are identified, cached, and reused for subsequent similar queries, dramatically reducing storage requirements while maintaining query accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies different storage strategies to different parts of the query processing. The complete result set is not stored, but only the locally identified new predicates are cached. This selective storage approach reduces overall storage requirements while preserving the essential information needed for query acceleration.

Inventive Principle:
Principle #3Local quality

3Productivity

If new predicates are introduced to expedite query processing, then processing speed improves, but predicate accuracy may deteriorate

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidpredicate accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system implements a feedback mechanism to monitor and verify the accuracy of new predicates identified from the first query. When a second similar query is detected, the cached predicates are verified against the new query's requirements. This feedback loop ensures that only accurate and relevant predicates are applied, maintaining query result correctness while achieving processing acceleration.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts predicate application based on query similarity verification. Rather than rigidly applying all cached predicates, the system evaluates whether the second query matches the first query's characteristics and only applies predicates when accuracy is confirmed, allowing flexible adaptation to maintain precision while improving efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9971831B2Managing complex queries with predicates
Publication Date: 2018.05.15 AIRBNB INC
  • US9971831B2 patent drawing
  • US9971831B2 patent drawing
  • US9971831B2 patent drawing

AI summary

A first query is detected. The first query is for a storage device, and pulls a result set from the storage device using a set of predicates. The first query satisfies a size criterion. A new set of predicates of the result set is identified. The new set of predicates does not include any predicates of the original set of predicates. A second query which is the same as the first query is detected. The new set of predicates is used to determine the result set.