Configuration Object for Dynamic Data Source Switching in Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in dynamically switching between different data objects during runtime, particularly when accessing data from various data sources with different formats and optimization requirements, leading to complex query plans and inefficient processing.

Innovation Solution

The introduction of a configuration object that specifies data sources for query execution, allowing the query optimizer to dynamically switch between data sources by pruning irrelevant query plans based on attribute types and client-specific conditions, enabling efficient query optimization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the query optimizer considers all possible data sources and query plans, then query optimization completeness is improved, but computational resources and processing time are worsened

Engineering Contradiction:
Improvequery optimization completenessVSAvoidcomputational resources
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The configuration object pre-specifies which data sources should be used for query execution. The query optimizer reads this switching information during query optimization and prunes the search space of query plans accordingly, avoiding consideration of irrelevant data sources. This preliminary specification eliminates the need to evaluate all possible query plans, thereby reducing computational resources while maintaining optimization quality.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the system supports dynamic switching between multiple data sources, then adaptability is improved, but query plan complexity is worsened

Engineering Contradiction:
Improvedata source switching capabilityVSAvoidquery plan complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A configuration object is introduced as an intermediary between the query optimizer and multiple data sources. This configuration object contains switching information that specifies which data sources should be used. The query optimizer interacts with this single configuration object rather than directly managing multiple data sources, which simplifies the query plan while maintaining the ability to dynamically switch between data sources.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the query optimizer reads configuration object contents during optimization, then query execution efficiency is improved, but additional processing overhead is incurred

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidoptimization processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The configuration object is prepared in advance with all switching information populated before query execution. During query optimization, the query optimizer simply reads this pre-prepared information to prune the search space, rather than performing complex analysis or making multiple data source evaluations. This preliminary preparation reduces the processing overhead during actual query optimization while improving execution efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12182124B1Query optimizer-readable objects facilitating data source switching
Publication Date: 2024.12.31 SAP SE
  • US12182124B1 patent drawing
  • US12182124B1 patent drawing
  • US12182124B1 patent drawing

AI summary

Techniques and solutions are provided for improving query performance of queries that can dynamically switch between accessing different data sources for a particular operation. The disclosure provides an object type, which can be referred to as a configuration object, that specifies which of multiple data sources should be used in query execution at a particular point in time. Values that specify a data source can be included as data in an instance of the object type, such as values in a relational database table that implements the configuration object. A data source to be used with a query can be changed dynamically by updating contents of the table. During query optimization, a query optimizer can recognize that the configuration object is of a particular type that causes the query optimizer to access contents of the configuration object. The contents can be used to prune portions of a query plan.