Performing actions based on monitoring execution of a query
First Claim
1. A method for use in a database system having plural access modules, comprising:
- receiving a database request;
dispatching, by database software executed on one or more processors, steps associated with the database request to one or plural access modules of the database system for execution;
collecting statistics, by a synchronous monitor executed on the one or more processors, regarding execution of each step by a respective access module, wherein the synchronous monitor is triggered to collect the statistics in response to receiving an indication of completion of each step by the respective access module, wherein the synchronous monitor does not collect the statistics regarding execution of each step until the synchronous monitor is triggered in response to receiving the indication of completion of each corresponding step, wherein the statistics collected by the synchronous monitor include plural statistics selected from among CPU time consumed to perform each corresponding step, a count of input/output cycles involved in each corresponding step, and a number of rows of a table generated in execution of each corresponding step;
collecting statistics, by an asynchronous monitor executed on the one or more processors, regarding execution of the steps by the one or plural access modules prior to completion of the execution of the steps by the one or plural access modules;
determining whether statistics collected by the synchronous monitor or asynchronous monitor relating to execution of the database request violate one or more predefined rules; and
in response to determining that the statistics relating to execution of the database request violate one or more predefined thresholds, performing one or more actions by the database software.
2 Assignments
0 Petitions
Accused Products
Abstract
In a database system, a database request is received, and database software dispatches steps associated with the database request to plural access modules of a database system for execution. Statistics are collected regarding execution of each step by a respective access module in response to receiving an indication of completion by the respective access module. It is determined whether statistics relating to execution of the database request violate one or more predefined rules, and in response to determining that the statistics relating to execution of the database request violate one or more predefined thresholds, one or more actions are performed by the database software.
80 Citations
19 Claims
-
1. A method for use in a database system having plural access modules, comprising:
-
receiving a database request; dispatching, by database software executed on one or more processors, steps associated with the database request to one or plural access modules of the database system for execution; collecting statistics, by a synchronous monitor executed on the one or more processors, regarding execution of each step by a respective access module, wherein the synchronous monitor is triggered to collect the statistics in response to receiving an indication of completion of each step by the respective access module, wherein the synchronous monitor does not collect the statistics regarding execution of each step until the synchronous monitor is triggered in response to receiving the indication of completion of each corresponding step, wherein the statistics collected by the synchronous monitor include plural statistics selected from among CPU time consumed to perform each corresponding step, a count of input/output cycles involved in each corresponding step, and a number of rows of a table generated in execution of each corresponding step; collecting statistics, by an asynchronous monitor executed on the one or more processors, regarding execution of the steps by the one or plural access modules prior to completion of the execution of the steps by the one or plural access modules; determining whether statistics collected by the synchronous monitor or asynchronous monitor relating to execution of the database request violate one or more predefined rules; and in response to determining that the statistics relating to execution of the database request violate one or more predefined thresholds, performing one or more actions by the database software. - View Dependent Claims (2, 3)
-
-
4. A method for use in a database system having plural access modules, comprising:
-
receiving a database request; dispatching, by database software executed on one or more processors, steps associated with the database request to one or plural access modules of the database system for execution; collecting statistics, by a synchronous monitor executed on the one or more processors, regarding execution of each step by a respective access module, wherein the synchronous monitor is triggered to collect the statistics in response to receiving an indication of completion of each step by the respective access module; collecting statistics, by an asynchronous monitor executed on the one or more processors, regarding execution of the steps by the one or plural access modules prior to completion of the execution of the steps by the one or plural access modules; determining whether statistics collected by the synchronous monitor or asynchronous monitor relating to execution of the database request violate one or more predefined rules; in response to determining that the statistics relating to execution of the database request violate one or more predefined thresholds, performing one or more actions by the database software; storing workload definitions, each workload definition associated with a corresponding set of the one or more predefined rules; and classifying the received database request to assign the received database request to a selected one of the workload definitions, wherein determining whether statistics collected by the synchronous monitor or asynchronous monitor relating to execution of the database request violate the one or more predefined rules comprises determining whether statistics collected by the synchronous monitor or asynchronous monitor relating to execution of the database request violate the one or more predefined rules of the selected workload definition. - View Dependent Claims (5, 6, 7)
-
-
8. An article comprising at least one computer-readable storage medium containing instructions that when executed cause a database system to:
-
receive a database request; execute steps associated with the database request; invoke a first monitor and a second monitor to collect statistics associated with execution of the database request, wherein the first monitor collects statistics in response to an indication of completion of each step; wherein the second monitor collects statistics during execution of a step without having to wait for the indication of completion; store plural workload definitions each associated with a corresponding set of the one or more predefined rules; classify the received database request to a selected one of the workload definitions; and determine whether the collected statistics violate the one or more predefined rules of the selected workload definition. - View Dependent Claims (9, 10, 11)
-
-
12. A database system comprising:
-
one or more processors; a parser executable on the one or more processors to receive a database request; a dispatcher executable on the one or more processors to dispatch steps of the database request for execution; a first monitor executable on the one or more processors to synchronously collect statistics associated with execution of the steps in response to indications of completion of corresponding steps, wherein the first monitor does not collect statistics regarding execution of each step of the database request until the first monitor is triggered in response to the indication of completion of each corresponding step of the database request, wherein the statistics collected by the first monitor include plural statistics selected from among CPU time consumed to perform each corresponding step, a count of input/output cycles involved in each corresponding step, and a number of rows of a table generated in execution of each corresponding step; a second monitor executable on the one or more processors to asynchronously collect statistics associated with execution of the steps during execution of the steps without waiting for indications of completion of corresponding steps; and a handler executable on the one or more processors to perform one or more actions in response to an exception indication from the first monitor or second monitor indicating that one or more predefined rules have been violated. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A database system comprising:
-
one or more processors; a parser executable on the one or more processors to receive a database request; a dispatcher executable on the one or more processors to dispatch steps of the database request for execution; a first monitor executable on the one or more processors to synchronously collect statistics associated with execution of the steps in response to indications of completion of corresponding steps; a second monitor executable on the one or more processors to asynchronously collect statistics associated with execution of the steps during execution of the steps without waiting for indications of completion of corresponding steps; a handler executable on the one or more processors to perform one or more actions in response to an exception indication from the first monitor or second monitor indicating that one or more predefined rules have been violated; a storage to store workload definitions, each workload definition associated with a respective set of the one or more predefined rules; and a module to classify the received database request and assign the received database request to a selected one of the workload definitions, wherein the first or second monitor is configured to determine whether the collected statistics violate the one or more of the predefined rules of the selected workload definition. - View Dependent Claims (19)
-
Specification