Database Multiprovider Segmentation for Query Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current calculation scenarios involving multiproviders with different data sources face inefficiencies due to the need for simultaneous optimization strategies that result in increased computation time and intermediate result slowdowns, particularly when dealing with HANA and SDA data sources that require distinct approaches for operations like hierarchy joins and FEMS filters.
Innovation Solution
A calculation engine splits the multiprovider into nodes optimized for each data source, performing operations compatible with the first data source to produce a result, then merging these results with additional operations compatible with the second data source, thereby optimizing processing and reducing intermediate results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single optimization strategy is applied to a multiprovider with different data sources, then the system structure remains simple, but processing time increases and intermediate results slow down execution
Solution Approach 1:
The patent segments the multiprovider into multiple nodes, where each node is optimized for a specific data source type. This segmentation allows each node to use the most appropriate optimization strategy for its associated data source (HANA or SDA), thereby improving overall query processing speed without applying a single suboptimal strategy to all data sources.
Solution Approach 2:
The patent applies local quality by assigning different optimization strategies to different parts of the calculation scenario based on the specific data source being accessed. Each node in the calculation scenario is tailored with optimization characteristics locally suited to its data source, rather than applying a uniform optimization approach globally.
2Productivity
If different optimization strategies are applied to different data sources in a multiprovider, then processing efficiency improves, but the calculation scenario becomes more complex
Solution Approach 1:
The multiprovider is divided into multiple nodes, with each node responsible for a specific data source and optimized accordingly. This segmentation enables the system to manage complexity in a structured way, where each node can be independently optimized without affecting the entire multiprovider structure.
Solution Approach 2:
The calculation scenario structure becomes dynamic, allowing the system to adaptively select and apply different optimization strategies based on the specific data source being accessed. This dynamic approach enables efficient query execution while managing structural complexity through flexible node configuration.
3Reliability
If intermediate results are maintained for all operations in a multiprovider, then data accuracy is preserved, but memory resources are consumed and processing slows down
Solution Approach 1:
The patent extracts and eliminates unnecessary intermediate results from the calculation scenario. By identifying which intermediate results are truly needed for final accuracy and which can be avoided, the system maintains data accuracy for essential calculations while eliminating redundant intermediate storage and processing that would consume memory and time.
Solution Approach 2:
The optimization strategies enable the system to skip unnecessary intermediate computation steps where possible. By using optimized execution paths tailored to each data source, the system can rush through certain operations more efficiently without compromising the accuracy of the final result, thereby reducing the time spent on intermediate result processing.
Data Source
AI summary
A calculation engine of a database management system is described that determines a multiprovider includes a first data source and a second data source that each require different approaches for operation optimization. The calculation engine can split the multiprovider into a first node corresponding to a first operation compatible with the first data source and a second node corresponding to a second operation compatible with the second data source. The calculation engine can perform the first operation at the first data source to produce a first result and perform the second operation at the second data source to produce a second result. The calculation engine can then merge the first result and the second result according to a third operation, and perform such third operation at the first data source.


