Patent ID: 8015454

Claim:
A system for managing performance of database transactions, the system comprising: at least one database configured to store data; at least one application configured to interact with the data of the at least one database through a plurality of database transactions that comprise structured query language (SQL) statements; and a management subsystem configured to generate one or more alerts identifying degrading ones of the SQL statements, the management subsystem configured to execute on one or more computing devices and comprising, a monitor module comprising one or more computer hardware processors, the monitor module configured to track one or more performance measurements of the plurality of the SQL statements, the one or more performance measurements comprising at least one of (i) a total cost of execution of a particular SQL statement of the plurality of SQL statements, (ii) an average cost of all executions of the particular SQL statement, and (iii) an execution rate of the particular SQL statement, a modeler module comprising one or more computer hardware processors, the modeler module configured to correlate the one or more tracked performance measurements beginning at a first data point of the particular SQL statement with one or more independent variables and to assign at least a first performance model to represent the one or more tracked performance measurements to generate a first trend of predicted performance measurements of the particular SQL statement, a trend change module configured to automatically detect within the one or more tracked performance measurements at least one substantial trend change in a the first trend of the one or more tracked performance measurements, wherein the trend change module automatically detects a trend change by iteratively selecting a second data point for the modeler module to generate at least a second performance model for a second trend of predicted performance measurements beginning at the second data point, wherein the trend change module determines a trend change at the second data point when: 1) at least three measured data points prior to the second data point fall outside of the second trend, and 2) a comparison of the first trend and the second trend of predicted performance measurements with tracked performance measurements indicates that the second trend is significantly better than the first trend at predicting the tracked performance measurements, and an interface module configured to trigger an alert when the second trend of the second performance model indicates that the predicted performance measurements of the particular SQL statement are degrading at or above a threshold rate to identify whether the particular SQL statement needs to be tuned; wherein the second performance model indicates whether I/O channels associated with the execution of the plurality of SQL statements will near capacity in the future.