IP Library › Granted Patent US 9,519,687
Granted Patent B2
US 9,519,687 · App. 14/305,594 · Granted Dec 13, 2016

Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices

Inventor: Garth A. Dickie (Framingham, MA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/3053G06F17/30312G06F17/30336G06F17/30492G06F17/30289G06F17/30339G06F17/30463
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,519,687
App. No.
14/305,594
Granted
Dec 13, 2016
Kind
B2
Abstract

Elements of a database object are stored among a plurality of different storage regions, each storage region being associated with a first value range indicating upper and lower range values for element values within that storage region. An index is generated and maintained for one or more second value ranges that include range values that comprise subsets of the first value ranges. A query is processed that includes a query value and one or more storage regions to be read is determined by using one of the index and the first value ranges based on the query value relative to a second value range.

Claims (42)

1. A system for accessing data within a database object, wherein an element of the database object is stored among a plurality of different storage regions with each storage region being associated with a first value range indicating upper and lower range values for element values within that storage region, the system comprising:

at least one processor configured to:

determine a quantity of expected read failures associated with using the first value ranges for reading each of one or more second value ranges, wherein the second value ranges include range values comprising subsets of the first value ranges;

generate and maintain an index for each of the one or more second value ranges having an associated quantity of expected read failures satisfying a threshold; and

process a query including a query value by;

identifying a second value range encompassing the query value;

selecting one of the index and the first value ranges based on the associated quantity of expected read failures for the identified second value range and determining one or more storage regions to access utilizing the selection; and

processing the query by reading the determined one or more storage regions.

2. The system of claim 1 , wherein generating an index further includes:

determining a score corresponding to the quantity of expected read failures for each second value range included in a storage region and summing the scores for each second value range included in the storage region to produce a total score; and

generating the index for each second value range where the total score exceeds a predetermined threshold.

3. The system of claim 2 , wherein the score for a storage region represents a probability that a value from an interval between the upper and lower range values is absent from that storage region.

4. The system of claim 3 , wherein the score for a storage region is determined based on a quantity of values of the first value range within that storage region relative to the quantity of all values within the first value range.

5. The system of claim 2 , wherein the summing of scores excludes the upper and lower range values for each storage region, and storage regions containing a single value.

6. The system of claim 1 , wherein generating the index includes:

maintaining information pertaining to the database object element within an index status structure; and

providing an indicator within the index status structure to indicate the second value ranges for which an index has been generated; and

the processor is further configured to:

access data from the storage regions based on the index in accordance with the indicator indicating the presence of an index for the identified second value range; and

access data from the storage regions based on the first value ranges in accordance with the indicator indicating the absence of an index for the identified second value range.

7. The system of claim 1 , wherein the database object includes a database table and the database object element includes a database table column.

8. A computer program product for accessing data within a database object, wherein an element of the database object is stored among a plurality of different storage regions with each storage region being associated with a first value range indicating upper and lower range values for element values within that storage region, the computer program product comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to:

determine a quantity of expected read failures associated with using the first value ranges for reading each of one or more second value ranges, wherein the second value ranges include range values comprising subsets of the first value ranges;

generate and maintain an index for each of the one or more second value ranges having an associated quantity of expected read failures satisfying a threshold; and

process a query including a query value by:

identifying a second value range encompassing the query value;

selecting one of the index and the first value ranges based on the associated quantity of expected read failures for the identified second value range and determining one or more storage regions to access utilizing the selection; and

processing the query by reading the determined one or more storage regions.

9. The computer program product of claim 8 , wherein the computer readable program code to generate an index further includes program code configured to:

determine a score corresponding to the quantity of expected read failures for each second value range included in a storage region and summing the scores for each second value range included in the storage region to produce a total score; and

generate the index for each second value range where the total score exceeds a predetermined threshold.

10. The computer program product of claim 9 , wherein the score for a storage region represents a probability that a value from an interval between the upper and lower range values is absent from that storage region.

11. The computer program product of claim 10 , wherein the score for a storage region is determined based on a quantity of values of the first value range within that storage region relative to the quantity of all values within the first value range.

12. The computer program product of claim 9 , wherein the computer readable program code to sum the scores for each second value range included in the storage region comprises computer readable program code to sum scores that exclude the upper and lower range values for each storage region, and exclude storage regions containing a single value.

13. The computer program product of claim 8 , wherein the computer readable program code to generate an index further includes program code configured to:

maintain information pertaining to the database object element within an index status structure; and

provide an indicator within the index status structure to indicate the second value ranges for which an index has been generated; and

the computer readable program code further comprises computer readable program code configured to:

access data from the storage regions based on the index in accordance with the indicator indicating the presence of an index for the identified second value range; and

access data from the storage regions based on the first value ranges in accordance with the indicator indicating the absence of an index for the second value range.

14. The computer program product of claim 8 , wherein the database object includes a database table and the database object element includes a database table column.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2014
From: DICKIE, GARTH A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033111/0276 →
Continuity (1)
Related Publication 20150363404A1 · Dec 17, 2015