Autonomic regulation of a volatile database table attribute
First Claim
1. A computer program product, comprising a plurality of computer-executable instructions recorded in a non-transitory computer-readable media, wherein said instructions, when executed by at least one computer system, cause the computer system to perform:
- monitoring at least one parameter of a database table of said computerized database over at least one time interval and saving monitored parameter data with respect to said database table;
determining a database table volatility state of said database table using the saved monitored parameter data, said database table volatility state being a property of said database table that is a function of changes to data recorded in said database table with respect to time, said database table volatility state being independent of any queries against data in said database table; and
responsive to determining a database table volatility state of said database table using the saved monitored parameter data, generating and saving at least one database table volatility attribute expressing the database table volatility state of said database table, said at least one volatility attribute being used by a process executing on the at least one computer system to manage access to data in said database table, wherein said at least one volatility attribute is used to manage access to data in said database table by at least one of;
(a) using said at least one volatility attribute to determine an optimum query execution strategy for a query against data in said database table, (b) using said at least one volatility attribute to determine whether to re-optimize a previously saved query execution strategy for a query against data in said database table, (c) using said at least one volatility attribute to determine whether to collect statistical data regarding said database table, and (d) using said at least one volatility attribute to manage storage and/or retrieval of data in said at least one database table.
1 Assignment
0 Petitions
Accused Products
Abstract
A database table is monitored to automatically determine its volatility, and at least one volatility attribute expressing volatility state is saved. The volatility attribute is used to manage the database, e.g., to determine an optimum query execution strategy for a query involving data in the table, and/or for determining whether to re-optimize a previously saved query execution strategy and/or for managing storage and retrieval of table data. Preferably, parameters of the database table are captured at regular sampling intervals and a figure of merit representing volatility is computed from the parameter values. Preferably, the database supports the SQL database language, and the volatility attribute is or includes the SQL VOLATILE attribute. In an additional embodiment, the database manager may express volatility of a database table as a value within a range.
-
Citations
18 Claims
-
1. A computer program product, comprising a plurality of computer-executable instructions recorded in a non-transitory computer-readable media, wherein said instructions, when executed by at least one computer system, cause the computer system to perform:
-
monitoring at least one parameter of a database table of said computerized database over at least one time interval and saving monitored parameter data with respect to said database table; determining a database table volatility state of said database table using the saved monitored parameter data, said database table volatility state being a property of said database table that is a function of changes to data recorded in said database table with respect to time, said database table volatility state being independent of any queries against data in said database table; and responsive to determining a database table volatility state of said database table using the saved monitored parameter data, generating and saving at least one database table volatility attribute expressing the database table volatility state of said database table, said at least one volatility attribute being used by a process executing on the at least one computer system to manage access to data in said database table, wherein said at least one volatility attribute is used to manage access to data in said database table by at least one of;
(a) using said at least one volatility attribute to determine an optimum query execution strategy for a query against data in said database table, (b) using said at least one volatility attribute to determine whether to re-optimize a previously saved query execution strategy for a query against data in said database table, (c) using said at least one volatility attribute to determine whether to collect statistical data regarding said database table, and (d) using said at least one volatility attribute to manage storage and/or retrieval of data in said at least one database table. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A database manager computer program product, comprising a plurality of computer-executable instructions recorded in a non-transitory computer-readable media, wherein said instructions comprise:
-
at least one data management function for performing at least one of adding data to, removing data from, or editing data in, one or more structured database tables managed by said database manager; a query engine for executing queries against data in said one or more structured database tables; a volatility monitoring function which determines a respective database table volatility state of at least one database table of said one or more structured database tables using saved monitored parameter data with respect to the respective database table and generates and saves at least one volatility attribute of the respective database table expressing the respective database table volatility of the respective database table responsive to determining the respective database table volatility state, the respective database table volatility state of each said database table being a property of the respective database table that is a function of changes to data contained in the respective database table with respect to time, the respective database table volatility state being independent of any queries against data in the respective database table; and wherein said database manager uses said at least one volatility attribute to manage access to data in said one or more structured database tables by at least one of;
(a) using said at least one volatility attribute to determine an optimum query execution strategy for a query against data in said database table, (b) using said at least one volatility attribute to determine whether to re-optimize a previously saved query execution strategy for a query against data in said database table, (c) using said at least one volatility attribute to determine whether to collect statistical data regarding said database table, and (d) using said at least one volatility attribute to manage storage and/or retrieval of data in said at least one database table. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer system supporting a database, comprising:
-
a memory; at least one processor, said at least one processor executing instructions storable in said memory; a database table of said database storable in said memory; a database manager embodied as instructions storable in said memory and executable on said at least one processor, said database manager managing said database and providing access to data in said database table; said database manager including a volatility monitoring function which determines a database table volatility state of said database table using saved monitored parameter data with respect to said database table and generates and saves at least one volatility attribute of said database table expressing volatility of said database table responsive to determining the database table volatility state, the database table volatility state of said database table being a property of the database table that is a function of changes to the database table with respect to time, independent of any queries against data in the database table; and wherein said database manager uses said at least one volatility attribute to manage access to data in said database table by at least one of;
(a) using said at least one volatility attribute to determine an optimum query execution strategy for a query against data in said database table, (b) using said at least one volatility attribute to determine whether to re-optimize a previously saved query execution strategy for a query against data in said database table, (c) using said at least one volatility attribute to determine whether to collect statistical data regarding said database table, and (d) using said at least one volatility attribute to manage storage and/or retrieval of data in said at least one database table. - View Dependent Claims (15, 16, 17, 18)
-
Specification