Multi-Tenant Query Plan Regression Management With Shared Knowledge
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing performance regressions in database management systems (DBMS) is challenging due to the complexity of systems, numerous queries, and the need for scalable, automated solutions to detect and handle regressions efficiently and reliably, especially in large-scale multi-tenant cloud environments.
Innovation Solution
An automatic performance regression management (Auto-PRM) framework that includes a query processing engine with a cache manager, query optimizer, and an automatic performance regression manager to detect and mitigate performance regressions by using execution history, hint manager, and knowledge sharing across tenants.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual management of performance regressions is used, then reliability of performance management is improved, but device complexity and scalability worsen
Solution Approach 1:
The system performs self-diagnosis and self-healing by automatically detecting performance regressions through the regression detector, evaluating candidate solutions via the candidate evaluator, and applying fixes through the solution applicator without requiring manual intervention, thereby achieving reliable automated performance management
Solution Approach 2:
The system implements continuous feedback loops where execution history is monitored, performance metrics are collected and analyzed, and the results feed back into the query optimizer and regression manager to automatically adjust query plans and resolve regressions, enabling reliable closed-loop performance management
2Productivity
If automated regression management is implemented, then productivity is improved, but device complexity increases
Solution Approach 1:
The automated regression management system is segmented into distinct functional modules: a regression detector for identifying performance issues, a candidate finder for generating potential solutions, a candidate evaluator for assessing options, and a solution applicator for implementing fixes. This modular segmentation enables automated productivity improvement while keeping each component's complexity manageable
Solution Approach 2:
The execution history serves multiple functions: it stores past query execution data for the regression detector, provides baseline performance metrics for the candidate evaluator, and enables knowledge sharing across tenants. This multi-functionality reduces overall system complexity by consolidating multiple needs into single components
3Adaptability or versatility
If knowledge sharing across tenants is enabled, then adaptability is improved, but loss of information increases
Solution Approach 1:
The system implements tenant-specific execution history storage and selective knowledge sharing, where each tenant maintains their own performance data while the system identifies and shares only relevant performance regression patterns and solutions across tenants, thereby enabling adaptability while preventing information loss
Solution Approach 2:
The regression manager acts as an intermediary between tenants, collecting performance data from each tenant's execution history, analyzing it for regression patterns, and sharing only aggregated knowledge objects with other tenants. This intermediary layer enables cross-tenant adaptability while maintaining data isolation and preventing direct information loss between tenants
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer implemented method can detect, in a first tenant, performance regression of executing a query using a current query plan. Responsive to detecting the performance regression, the method can evaluate one or more candidate solutions for resolving the performance regression, and identify, from the one or more candidate solutions, an effective solution that resolves the performance regression. The effective solution is configured to generate an updated query plan, which has better performance than the current query plan for executing the query. The method can construct a knowledge object based on the detected performance regression and the identified effective solution and distribute the knowledge object to a second tenant. Related systems and software for implementing the method are also disclosed.