PREDICTING EXECUTION TIMES OF CONCURRENT QUERIES
First Claim
1. A system for predicting execution times of concurrent queries, the system comprising of:
- a processor to;
iteratively generate historic data for creating a machine learning model by;
varying a concurrency level of query executions in a database;
determining a query execution plan for a pending concurrent query;
extracting a plurality of query features from the query execution plan; and
executing the pending concurrent query to determine a query execution time;
create the machine learning model based on the plurality of query features, variation in the concurrency level, and the query execution time; and
use the machine learning model to generate an execution schedule for a plurality of production queries, wherein the execution schedule satisfies service level agreements of the plurality of production queries.
8 Assignments
0 Petitions
Accused Products
Abstract
Example embodiments relate to predicting execution times of concurrent queries. In example embodiments, historical data is iteratively generated for a machine learning model by varying a concurrency level of query executions in a database, determining a query execution plan for a pending concurrent query, extracting query features from the query execution plan, and executing the pending concurrent query to determine a query execution time. The machine learning model may then be created based on the query features, variation in the concurrency level, and the query execution time. The machine learning model is used to generate an execution schedule for production queries, where the execution schedule satisfies service level agreements of the production queries.
45 Citations
15 Claims
-
1. A system for predicting execution times of concurrent queries, the system comprising of:
a processor to; iteratively generate historic data for creating a machine learning model by; varying a concurrency level of query executions in a database; determining a query execution plan for a pending concurrent query; extracting a plurality of query features from the query execution plan; and executing the pending concurrent query to determine a query execution time; create the machine learning model based on the plurality of query features, variation in the concurrency level, and the query execution time; and use the machine learning model to generate an execution schedule for a plurality of production queries, wherein the execution schedule satisfies service level agreements of the plurality of production queries. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method for predicting execution times of concurrent querues, comprising:
-
receiving historic data associated with a database for creating a machine learning model, wherein the historic data includes query execution times for training queries that have been iteratively executed at varying concurrency levels and a plurality of query features that have been extracted from query execution plans of the training queries; using a boosted trees technique to create the machine learning model based on the plurality of query features, the varying concurrency levels, and the query execution times; and using the machine learning model to generate an execution schedule for a plurality of production queries, wherein the execution schedule satisfies service level agreements of the plurality of production queries. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory machine-readable storage medium encoded with instructions executable by a processor for predicting execution times of concurrent queries, the machine-readable storage medium comprising instructions to:
-
iteratively generate historic data for creating a machine learning model by; varying a concurrency level of query executions in a database, wherein the concurrency level is iteratively varied to values in a range of two to a maximum value greater than two; determining a query execution plan for pending concurrent query; extracting a plurality of query features from the query execution plan; and executing the pending concurrent query to determine a query execution time; create the machine learning model based on the plurality of query features, variation in the concurrency level, and the query execution time; and use the machine learning model to generate an execution schedule for a plurality of production queries, wherein the execution schedule satisfies service level agreements of the plurality of production queries. - View Dependent Claims (13, 14, 15)
-
Specification