Data allocation containers in a partitioned table of a computer database system for holding data based on usage
First Claim
Patent Images
1. An apparatus comprising:
- at least one processor;
a memory coupled to the at least one processor;
a database residing in the memory having data in at least one partitioned database table divided into a plurality of data allocation containers (DACs);
a database manager with a DAC manager residing in the memory and executed by the at least one processor that determines which of the plurality of DACs to place rows of data into based on usage of the rows of data in past queries from data usage information stored in the rows of the data of the DACs, andwherein the data usage information comprises a counter and the DAC manager increments the counter for a number of times selected for each selected row by the query, and computes a DAC selection ratio (DSR) for each selected row by the query from a quotient of a number of queries made to the partitioned table and the number of times selected.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method utilize partitioned database tables divided into data allocation containers (DACs) where data is placed into the DACs based on usage of the data in past queries. Records that are used most often are placed together and records that are used less often are placed together to improve database performance. In preferred embodiments, a database manager determines where to place data into the DACs based on how often the data is selected by a database query using a DAC selection ratio (DSR). The database manager may determine when to perform table maintenance to move rows of data to the appropriate DACs based on a timestamp or last check date (LCD) stored in the database.
21 Citations
15 Claims
-
1. An apparatus comprising:
-
at least one processor; a memory coupled to the at least one processor; a database residing in the memory having data in at least one partitioned database table divided into a plurality of data allocation containers (DACs); a database manager with a DAC manager residing in the memory and executed by the at least one processor that determines which of the plurality of DACs to place rows of data into based on usage of the rows of data in past queries from data usage information stored in the rows of the data of the DACs, and wherein the data usage information comprises a counter and the DAC manager increments the counter for a number of times selected for each selected row by the query, and computes a DAC selection ratio (DSR) for each selected row by the query from a quotient of a number of queries made to the partitioned table and the number of times selected. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A program product comprising:
-
a database manager with a data allocation container (DAC) manager, wherein the DAC manager determines which of a plurality of DACs to place rows of data into based on usage of the rows of data in past queries from data usage information stored in the rows of the data of the DACs, wherein the plurality of DACs include a high priority DAC placed in a memory device with a faster access time and a low priority DAC placed in a memory device with a slower access time; wherein the DAC manager increments a counter for a number of times selected for each selected row by the query, and computes a DAC selection ratio (DSR) for each selected row by the query from a quotient of a number of queries made to the partitioned table and the number of times selected; and non-transitory computer-readable media bearing the database manager and the DAC manager. - View Dependent Claims (9, 10)
-
-
11. An apparatus comprising:
-
at least one processor; a memory coupled to the at least one processor; a database residing in the memory having data in at least one partitioned database table divided into a plurality of data allocation containers (DACs); a database manager with a DAC manager residing in the memory and executed by the at least one processor that determines which of the plurality of DACs to place rows of data into based on data usage information stored in each row of data of the DACs, wherein the data usage information stored in each row includes a counter for a number of times each row was selected in past queries; wherein the DAC manager increments the counter for a number of times selected for each selected row by the query, and computes a DAC selection ratio (DSR) for each selected row by the query from a quotient of a number of queries made to the partitioned table and the number of times selected; wherein the DAC manager increments a counter for a number of times inspected that indicates how many times the row of data was inspected but not selected; and wherein the DAC manager determines if the DSR is within a predetermined range for a current DAC, and moves the row of data to a different DAC when the data selection ratio is not within the predetermined range for the current DAC. - View Dependent Claims (12, 13, 14, 15)
-
Specification