Grouping Predicted Database Queries
First Claim
1. A computer-implemented method, comprising:
- receiving at least one database query;
determining data elements required to execute the at least one query;
matching the received at least one query to a pattern of previously executed queries;
predicting, based on the matching pattern, attributes of one or more queries to be subsequently received;
determining, based on the predicted attributes, data elements required to execute the one or more subsequent queries;
determining a grouping of the one or more subsequent queries with the at least one received query, such that each query in the grouping will require one or more data elements stored in a common storage device in order to be executed, the grouping being performed on the basis of an objective to reduce energy consumption;
receiving the one or more subsequent queries; and
adding to a queue, according to the determined grouping, the one or more subsequent queries with the at least one received query.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide techniques for aggregating database queries for energy efficiency. In one embodiment, queries received by a DBMS are aggregated and staged according to hard-disk drives required for query execution. Each group of queries accessing a given drive may be dispatched for execution together. Further, the queries received by a DBMS may be matched to patterns of previously received queries. The matching patterns may be used to predict other queries which are likely to be received by the DBMS. The received queries may be staged to be dispatched with the predicted queries. By aggregating queries to be executed, access to each hard-disk drive may be optimized, thus reducing the overall energy consumption required for executing the queries.
-
Citations
21 Claims
-
1. A computer-implemented method, comprising:
-
receiving at least one database query; determining data elements required to execute the at least one query; matching the received at least one query to a pattern of previously executed queries; predicting, based on the matching pattern, attributes of one or more queries to be subsequently received; determining, based on the predicted attributes, data elements required to execute the one or more subsequent queries; determining a grouping of the one or more subsequent queries with the at least one received query, such that each query in the grouping will require one or more data elements stored in a common storage device in order to be executed, the grouping being performed on the basis of an objective to reduce energy consumption; receiving the one or more subsequent queries; and adding to a queue, according to the determined grouping, the one or more subsequent queries with the at least one received query. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable storage medium containing a program which, when executed, performs an operation, comprising:
-
receiving at least one database query; determining data elements required to execute the at least one query; matching the received at least one query to a pattern of previously executed queries; predicting, based on the matching pattern, attributes of one or more queries to be subsequently received; determining, based on the predicted attributes, data elements required to execute the one or more subsequent queries; determining a grouping of the one or more subsequent queries with the at least one received query, such that each query in the grouping will require one or more data elements stored in a common storage device in order to be executed, the grouping being performed on the basis of an objective to reduce energy consumption; receiving the one or more subsequent queries; and adding to a queue, according to the determined grouping, the one or more subsequent queries with the at least one received query. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a database; a processor; and a memory containing a program, which when executed by the processor is configured to perform an operation, comprising; receiving at least one database query; determining data elements required to execute the at least one query; matching the received at least one query to a pattern of previously executed queries; predicting, based on the matching pattern, attributes of one or more queries to be subsequently received; determining, based on the predicted attributes, data elements required to execute the one or more subsequent queries; determining a grouping of the one or more subsequent queries with the at least one received query, such that each query in the grouping will require one or more data elements stored in a common storage device in order to be executed, the grouping being performed on the basis of an objective to reduce energy consumption; receiving the one or more subsequent queries; and adding to a queue, according to the determined grouping, the one or more subsequent queries with the at least one received query. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification