Cost Heuristic Filter Evaluation Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face challenges in optimizing query performance due to complex queries and varying database types, leading to increased processing burdens and reduced response times.

Innovation Solution

A computer-implemented method for executing queries that includes generating a query plan, optimizing it using a query optimizer, and executing it through a decoupled execution engine that supports multiple database types, employing cost function evaluations to select the most efficient filter evaluation strategies such as dictionary scans, data vector scans, index lookups, and dictionary lookups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex multidimensional analysis queries are performed on the database, then analytical capabilities are improved, but processing time and response time increase

Engineering Contradiction:
Improveanalytical capabilitiesVSAvoidresponse time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the query execution process into distinct phases: query planning, optimization, and execution. The execution engine is further decoupled from the database layer, allowing complex analytical operations to be performed separately from data storage operations. This segmentation enables parallel processing and reduces the time burden on the database system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an execution engine as an intermediary layer between the database management system and the query processing operations. This execution engine handles complex analytical queries, filtering operations, and data transformations, thereby protecting the database layer from excessive processing burdens while maintaining analytical capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the database layer handles all query execution operations, then data access is simplified, but processing burden and complexity increase

Engineering Contradiction:
Improvedata access simplicityVSAvoidprocessing burden
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts complex processing operations from the database layer and relocates them to a separate execution engine. This includes filtering operations, join operations, aggregation, and other query processing tasks. The database layer retains only essential data access functions, reducing its processing burden while maintaining ease of data access through the unified query interface.

Inventive Principle:
Principle #2Taking out (Extraction)

3Manufacturing precision

If specialized engines are created for each database type, then query optimization is improved, but system complexity and maintenance burden increase

Engineering Contradiction:
Improvequery optimization precisionVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent implements a universal execution engine that can handle multiple database types (relational, NoSQL, columnar, in-memory) through a unified architecture. The execution engine receives standardized query plans and adapts to different database types without requiring specialized engines for each database, thereby reducing system complexity while maintaining optimization capabilities through a common processing framework.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11138165B2Cost heuristic for filter evaluation
Publication Date: 2021.10.05 SAP SE
  • US11138165B2 patent drawing
  • US11138165B2 patent drawing
  • US11138165B2 patent drawing

AI summary

A method, a system, and a computer program product for executing a query. A query plan for execution of a query is generated. The query requires access to at least one table stored in a database system. The query includes one or more filter predicates. A filter predicate in the one or more filter predicates is selected. For the selected filter predicate, a plurality of cost function values associated executing a filter evaluation of the selected filter predicate are determined. Filter evaluation of the selected predicate is executed in accordance with at least one determined cost function value in the plurality of cost function values.