Semantic Caching of Semi-Join Operators in Shared-Nothing Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional semantic query caching techniques are inefficient in evaluating join operations, prone to returning incorrect results due to lack of robustness against data changes, and lead to unnecessary cache evictions, limiting cache efficiency and increasing memory and network costs due to large data storage requirements.

Innovation Solution

A method that generates and stores signatures for semi-join query operators in a shared-nothing and log-structured database, allowing for efficient caching by rewriting semi-join operators to output record identifiers, distributing cache storage across nodes, and capturing the semantics of queries and data tables to ensure robustness and reduce storage costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional semantic query caching techniques are used to cache join operations, then query processing speed may be improved, but the system returns incorrect results due to lack of robustness against data changes

Engineering Contradiction:
Improvequery processing speedVSAvoidcorrectness of results
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements a feedback mechanism by capturing the semantics of data tables (including their schemas and constraints) along with query semantics. This feedback loop ensures that cached results are validated against current data state, preventing return of incorrect results while maintaining caching benefits for query processing speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by capturing and storing the semantics of both queries and data tables before executing join operations. This preliminary capture of semantic information enables the system to verify result correctness against current data state, ensuring reliability while maintaining caching efficiency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If conventional semantic query caching techniques are used, then some cache efficiency is achieved, but unnecessary cache evictions occur, limiting overall cache efficiency

Engineering Contradiction:
Improvecache efficiencyVSAvoidunnecessary cache evictions
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the parameters used for cache validation by incorporating data table semantics (schemas, constraints, and state) in addition to query semantics. This parameter expansion allows for more precise cache hit/miss determination, reducing unnecessary evictions while maintaining high cache efficiency through better matching criteria.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If results of join operations are stored in cache, then query reuse is enabled, but memory and network costs increase due to large data storage requirements

Engineering Contradiction:
Improvequery reuse capabilityVSAvoidmemory and network resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts and stores only the essential semantic information (query semantics and data table semantics) rather than caching complete join results. This extraction approach enables query reuse capability while significantly reducing memory and network resources required, as only metadata-level semantic representations are stored rather than full result sets.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20220245150A1Semantic caching of semi-join operators in shared-nothing and log-structured databases
Publication Date: 2022.08.04 SINDICE LTD T A SIREN
  • US20220245150A1 patent drawing
  • US20220245150A1 patent drawing
  • US20220245150A1 patent drawing

AI summary

A method for accelerating the computation of a query execution plan involving semi-join query operators in a shared-nothing and log-structured database. In one example, the method includes the operations of: receiving a query; generating a query execution plan; using the query operator to generate a signature; and executing a query operator to generate an output. Finally, the method may include using the signature to store the output of the query operator.