Multi-tenant Query Plan Optimization via Segmented Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tenant data analysis on software as a service platforms, queries across pooled data sets from different tenants can take a long time to evaluate, degrading user experience due to the complexity of the data and the need for secure segregation of tenant data.
Innovation Solution
A system determines an efficient query ordering for commingled data by analyzing the expected evaluation times and probabilities of query operators, prompting users for permission to change the ordering if necessary, and optimizing query execution based on historical data from all tenants.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tenant data is strictly segregated on different computers, hard drives, or virtual machines to maintain security, then data security and tenant isolation are improved, but query evaluation time increases and user experience degrades
Solution Approach 1:
The patent segments the query evaluation process into multiple phases: syntax analysis, semantic analysis, optimization, and execution. Each phase processes only the necessary portions of the query and data, avoiding the need to evaluate entire pooled data sets while maintaining security through virtual machine isolation. This segmentation reduces overall query evaluation time while preserving data security.
Solution Approach 2:
The patent introduces an intermediary optimization layer that sits between the query interface and the segregated tenant data. This intermediary analyzes query syntax and semantics, generates optimized execution plans, and coordinates data retrieval across virtual machines without requiring direct access to pooled data sets. The intermediary reduces query evaluation time while maintaining the security boundaries of segregated storage.
2Quantity of substance
If pooled data sets are made larger and more complex to provide comprehensive multi-tenant analysis, then data completeness and analytical value are improved, but query complexity increases and evaluation performance decreases
Solution Approach 1:
The patent performs preliminary actions during query processing by pre-compiling syntax analysis rules, semantic validation templates, and optimization strategies. These preliminary structures are prepared before actual query execution, allowing the system to handle complex pooled data sets efficiently. The pre-established frameworks reduce the computational burden during query evaluation while maintaining support for comprehensive data analysis.
Solution Approach 2:
The patent changes key parameters of query processing by transitioning from traditional approaches that evaluate entire data sets to a method that evaluates only relevant portions based on syntax and semantic analysis. The system dynamically adjusts evaluation parameters such as data scope, processing depth, and optimization strategies based on the specific query characteristics, thereby reducing complexity while maintaining analytical completeness.
3Ease of manufacture
If traditional query evaluation methods are used on pooled data sets, then implementation simplicity is maintained, but query execution time becomes unacceptably long
Solution Approach 1:
The patent introduces dynamic elements into the query evaluation process by implementing adaptive optimization strategies that adjust processing approaches based on query characteristics, data distribution, and system state. The optimization engine dynamically selects among multiple evaluation strategies, reorders operations based on estimated costs, and adapts execution plans during processing. This dynamic approach significantly improves execution efficiency while maintaining implementation feasibility through structured frameworks.
Data Source
AI summary
A system for determining a query ordering includes an input interface and a processor. The input interface is configured to receive a set of commingled data. The commingled data comprises data associated with a plurality of tenants. The input interface is configured to receive a query. The processor is configured to determine an efficient ordering for the query. The efficient ordering for the query is based at least in part on the set of commingled data. The processor is configured to prompt a user for a permission to change an execution ordering for the query in response to the efficient ordering for the query being different from a user indicated ordering for the query.


