Processing batch database workload while avoiding overload
First Claim
1. A method for efficiently processing a database warehouse workload in a computer system, said method comprising:
- receiving said workload, which comprises a batch of queries directed toward said database warehouse;
assigning a priority to each query within said batch of queries, wherein said priority is unique within said batch of queries such that no two queries are assigned a same priority, whereby resources of said computer system are assigned in accordance with said priority;
executing said batch of queries in unison within said computer system, using preemptive priority scheduling such that higher priority queries of the batch receive more computing resources for execution thereof than lower priority queries of the batch, in accordance with said priority of said each query, thereby resolving a conflict within said batch of queries for said resources of said computer system, hence efficiently processing said database workload and avoiding overload of said computer system;
upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, reassigning the priority of the first query to the second query to heighten the priority of the second query, such that the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query.
8 Assignments
0 Petitions
Accused Products
Abstract
Processing batch database workload while avoiding overload. A method for efficiently processing a database workload in a computer system comprises receiving the workload, which comprises a batch of queries directed toward the database. Each query within the batch of queries is assigned a priority. Resources of the computer system are assigned in accordance with the priority. The batch of queries is executed in unison within the computer system in accordance with the priority of each query thereby resolving a conflict within the batch of queries for the resources of the computer system, hence efficiently processing the database workload and avoiding overload of the computer system.
-
Citations
20 Claims
-
1. A method for efficiently processing a database warehouse workload in a computer system, said method comprising:
-
receiving said workload, which comprises a batch of queries directed toward said database warehouse; assigning a priority to each query within said batch of queries, wherein said priority is unique within said batch of queries such that no two queries are assigned a same priority, whereby resources of said computer system are assigned in accordance with said priority; executing said batch of queries in unison within said computer system, using preemptive priority scheduling such that higher priority queries of the batch receive more computing resources for execution thereof than lower priority queries of the batch, in accordance with said priority of said each query, thereby resolving a conflict within said batch of queries for said resources of said computer system, hence efficiently processing said database workload and avoiding overload of said computer system; upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, reassigning the priority of the first query to the second query to heighten the priority of the second query, such that the second query receives additional computing resources for remaining execution thereof than the execution thereof prior to heightening of the priority of the second query. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable memory containing executable instructions wherein said instructions when executed effect a method for efficiently processing a database workload in a computer system, said method comprising:
-
receiving said workload which comprises a batch of queries directed toward said database; assigning a priority to each query within said batch of queries by which resources of said computer system are assigned in accordance with said priority; coupling with a feed forward method for defining a multi programming level for processing said batch of queries, wherein said feed forward method employs an accurate estimate of how much memory said database workload is going to use; executing said batch of queries in unison within said computer system, using preemptive priority scheduling such that higher priority queries of the batch receive more computing resources for execution thereof than lower priority queries of the batch, in accordance with said priority of said each query, thereby resolving a conflict within said batch of queries for said resources of said computer system, hence efficiently processing said database workload and avoiding overload of said computer system; and upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, reassigning the priority of the first query to the second query to heighten the priority of the second query. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium having computer readable program code embedded thereon that when executed causes a computer system to process a database workload, said program code comprising:
-
a receiving module for receiving said workload, wherein said workload comprises a batch of queries; an assigning module for assigning a unique priority to each query within said batch of queries such that no two queries are assigned a same priority and where no two queries can be assigned the same priority, wherein resources of said computer are assigned in accordance with said priority; and an executing module for executing said batch of queries in unison within said computer in accordance with said priority of said each query, therein resolving a conflict between said queries for said resources of said computer, hence efficiently processing said workload and avoiding overload of said computer, wherein upon completion of execution of a first query of the batch having higher priority than a second query of the batch that is still executing and that has a next highest priority, the assigning module is to reassign the priority of the first query to the second query to heighten the priority of the second query. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification