Query Governor for Database Resource Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems (DBMS) lack the ability to effectively manage the execution of groups of queries, as they are designed to handle individual queries rather than groups, leading to potential resource exhaustion and performance issues.
Innovation Solution
Implementing a query governor that groups queries based on attributes such as type, user, application, and job, and estimates the resource requirements for these groups, allowing for scheduling decisions to prevent excessive resource usage, such as delaying or halting queries if expected resource usage exceeds thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the DBMS executes individual queries without group management, then each query can be processed independently, but resource exhaustion and performance issues occur when handling groups of queries
Solution Approach 1:
The patent combines multiple individual queries into a grouped query structure, where the DBMS treats the group as a single executable unit. This merging allows the system to manage resource allocation at the group level rather than individual query level, preventing resource exhaustion while maintaining processing efficiency. The group header contains execution control information that applies to all queries in the group, enabling coordinated resource management.
2Productivity
If the DBMS manages execution of groups of queries, then resource usage can be optimized and performance improved, but the system complexity increases
Solution Approach 1:
The patent segments the query management process into distinct components: a group header containing execution control information and a group body containing multiple individual queries. This segmentation allows the complex task of group query management to be divided into manageable parts, where the header handles resource allocation and execution control, while the body contains the actual queries to be executed. This structural division reduces overall system complexity by organizing functionality into separate, well-defined segments.
3Device complexity
If queries are executed without grouping, then implementation is simpler, but resource exhaustion can occur leading to system failures
Solution Approach 1:
The patent implements preliminary action by evaluating and allocating resources for a group of queries before actual execution begins. The group header contains pre-calculated execution control information that determines resource requirements and execution parameters for all queries in the group. This preliminary resource allocation prevents resource exhaustion during execution, as the system has already determined whether sufficient resources are available before committing to execute the query group, thereby avoiding system failures.
Data Source
AI summary
Techniques are described for managing the execution of one or more groups of queries. Embodiments of the present disclosure may generally receive a group of queries to be executed against a database. Embodiments also determine, based on one or more attributes of the group of queries, an expected amount of resources that will be used in executing the group of queries against the database. Embodiments further schedule one or more queries of the group of queries for execution against the database based on the expected amount of resources to be used for the group of queries.


