P
US11416490B2ActiveUtilityPatentIndex 50

Prioritization and optimization of database workloads

Assignee: IBMPriority: Aug 3, 2020Filed: Aug 3, 2020Granted: Aug 16, 2022
Est. expiryAug 3, 2040(~14.1 yrs left)· nominal 20-yr term from priority
Inventors:NASSER SAMIRO'CONNELL BRIAN MFOX JEREMY R
G06F 16/2455G06F 16/24549G06F 16/24542
50
PatentIndex Score
0
Cited by
25
References
17
Claims

Abstract

A computer-implemented method groups queries to reduce performance degradation. The method includes, receiving, by a database manager, a set of queries from one or more requestors, wherein each query of the set of queries includes an access plan. The method includes, determining, based at least on the access plan of each query, that a first query in the set of queries is incompatible with a second query of the set of queries. The method includes, grouping, in response to the first query and the second query being incompatible, the first query in a first group, and the second query in a second group, wherein the first group and the second group are included in a set of groups. The method includes, determining an order for each group of the set of groups. The method further includes, executing, in response to determining the order, each group in the determined order.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method for grouping queries, comprising:
 receiving, by a database manager, a set of queries from one or more requestors, wherein each query of the set of queries includes an access plan; 
 determining, based on at least the access plan of each query, that a first query in the set of queries is incompatible with a second query of the set of queries, wherein the determining the first query is incompatible with the second query further comprises predicting a negative effect on the second query subject to processing the first query and the second query simultaneously; 
 grouping, in response to the first query and the second query being incompatible, the first query in a first group, and the second query in a second group, wherein the first group and the second group are included in a set of groups, and each group of the set of groups includes different queries; 
 determining an order to execute each group of the set of groups; and 
 executing, in response to determining the order, each group in the determined order wherein all queries in each group are processed in parallel. 
 
     
     
       2. The method of  claim 1 , wherein the first query blocks access to a set of data, and the negative effect comprises a blocked request to access the set of data by the second query. 
     
     
       3. The method of  claim 1 , wherein the first query utilizes a first amount of an allocated memory, the second query utilizes a second amount of the allocated memory, and the negative effect comprises the first amount and the second amount exhausting the allocated memory. 
     
     
       4. The method of  claim 1 , wherein the order is based on a priority of at least one query in each group. 
     
     
       5. The method of  claim 1 , further comprising:
 determining a third query from the set of queries is compatible with the first query; 
 grouping the third query in the first group; and 
 wherein executing each group in the determining order further comprises:
 processing the first query and the third query simultaneously. 
 
 
     
     
       6. The method of  claim 1 , wherein determining the first query and the second query are incompatible is based on a set of previously executed queries. 
     
     
       7. The method of  claim 1 , wherein the first group and the second group are created in response to determining the first query and the second query are incompatible. 
     
     
       8. The method of  claim 7 , wherein executing each group further comprising:
 deleting the first group in response to executing the first query in the first group. 
 
     
     
       9. The method of  claim 1 , further comprising:
 defining, the set of groups, including the first group and the second group, wherein each group includes at least one group characteristic; and 
 wherein receiving the set of queries is in response to defining the set of groups. 
 
     
     
       10. A system comprising:
 a processor; and 
 a computer-readable storage medium communicatively coupled to the processor and storing program instructions which, when executed by the processor, are configured to cause the processor to:
 receive, by a database manager, a set of queries from one or more requestors, wherein each query of the set of queries includes an access plan; 
 determine, based on at least the access plan of each query, that a first query in the set of queries is incompatible with a second query of the set of queries, wherein the determination the first query is incompatible with the second query further comprises predicting a negative effect on the second query subject to processing the first query and the second query simultaneously; 
 group, in response to the first query and the second query being incompatible, the first query in a first group, and the second query in a second group, wherein the first group and the second group are included in a set of groups, and each group of the set of groups includes different queries; 
 determine, an order to execute each group of the set of groups, wherein the order; and 
 execute, in response to the determined order for each group, each group in the determined order, wherein all queries in each group are processed in parallel. 
 
 
     
     
       11. The system of  claim 10 , wherein the first query blocks access to a set of data, and the negative effect comprises a blocked request to access the set of data by the second query. 
     
     
       12. The system of  claim 10 , wherein the first query utilizes a first amount of an allocated memory, the second query utilizes a second amount of the allocated memory, and the negative effect comprises the first amount and the second amount exhausting the allocated memory. 
     
     
       13. The system of  claim 10 , wherein the program instructions are further configured to cause the processor to:
 define the set of groups, including the first group and the second group, wherein each group includes at least one group characteristic; and 
 wherein receiving the set of queries is in response to defining the set of groups. 
 
     
     
       14. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing unit to cause the processing unit to:
 receive, by a database manager, a set of queries from one or more requestors, wherein each query of the set of queries includes an access plan; 
 determine, based on at least the access plan of each query, that a first query in the set of queries is incompatible with a second query of the set of queries, wherein the determination the first query is incompatible with the second query further comprises predicting a negative effect on the second query subject to processing the first query and the second query simultaneously; 
 group, in response to the first query and the second query being incompatible, the first query in a first group, and the second query in a second group, wherein the first group and the second group are included in a set of groups, and each group of the set of groups includes different queries; 
 determine, an order to execute each group of the set of groups, wherein the order; 
 execute, in response to the determined order for each group, each group in the determined order, wherein all queries in each group are processed in parallel. 
 
     
     
       15. The computer program product of  claim 14 , wherein the first query blocks access to a set of data, and the negative effect comprises a blocked request to access the set of data by the second query. 
     
     
       16. The computer program product of  claim 14 , wherein the first query utilizes a first amount of an allocated memory, the second query utilizes a second amount of the allocated memory, and the negative effect comprises the first amount and the second amount exhausting the allocated memory. 
     
     
       17. The computer program product of  claim 14 , wherein the program instructions are further configured to cause the processing unit to:
 define the set of groups, including the first group and the second group, wherein each group includes at least one group characteristic; and 
 wherein receiving the set of queries is in response to defining the set of groups.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.