Calculation Engine Filter Pushdown for Join Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hierarchical joins in database systems consume significant processing power, leading to slowdowns in calculation scenarios due to increased computational complexity and inefficiencies in filtering operations.

Innovation Solution

A calculation engine optimizes join operations by recognizing and utilizing attributes with semantically similar data, even if they have different names, to reduce the number of join keys and filter data more efficiently, thereby minimizing unnecessary computations and speeding up processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hierarchical join operations are executed to combine data from multiple database tables, then complete and accurate query results are obtained, but computational complexity increases and processing time extends

Engineering Contradiction:
Improvequery result accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary filtering operations before executing join operations. The calculation engine identifies filter conditions in the query and applies them to reduce the data sets in one or more tables prior to the join operation, thereby reducing the computational complexity of the subsequent join while ensuring accurate results are obtained from the reduced data sets

Inventive Principle:
Principle #10Preliminary action

2Reliability

If hierarchical join operations are executed to combine data from multiple database tables, then complete and accurate query results are obtained, but computational complexity increases

Engineering Contradiction:
Improvequery result accuracyVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary filtering operations before executing join operations. The calculation engine identifies filter conditions in the query and applies them to reduce the data sets in one or more tables prior to the join operation, thereby reducing the computational complexity of the subsequent join while ensuring accurate results are obtained from the reduced data sets

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The calculation engine segments the query processing into distinct phases: filtering phase and joining phase. By separating these operations and applying filters before joins, the system breaks down the complex hierarchical join operation into manageable segments that can be executed more efficiently with reduced computational overhead

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If data from multiple database tables is joined using multiple join keys, then accurate joining of semantically similar attributes is achieved, but the number of join operations increases and processing efficiency decreases

Engineering Contradiction:
Improvejoin accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The calculation engine merges semantically similar attributes from different tables by identifying attributes that represent the same real-world concept even if they have different names. Instead of creating separate join operations for each attribute pair, the system combines these attributes into a single join operation using semantic equivalence classes, thereby maintaining join accuracy while reducing the total number of join operations required

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11188540B2Filter and join operations in query processing
Publication Date: 2021.11.30 SAP SE
  • US11188540B2 patent drawing
  • US11188540B2 patent drawing
  • US11188540B2 patent drawing

AI summary

Described herein includes a calculation scenario of a calculation engine that efficiently filters and joins data for processing. The calculation engine enhances the performance of the join operations by allowing join inputs to be pre-filtered more effectively. Such join operations can allow for faster processing times, and a reduction in the amount of data to be joined, resulting in more efficient processing.