Method and mechanism for determining life intervals for a key in an index
First Claim
Patent Images
1. A method for determining one or more life intervals for a range of keys in a database system to retrieve one or more past versions of one or more data items corresponding to the range of keys in the database system, comprising:
- using at least one computing system to execute a process, the process comprising;
receiving a range of keys for which it is desired to determine one or more life intervals;
determining whether the range of keys should be split into a first working range and a second working range based at least in part upon storage locations of the first working range and the second working range, wherein the first working range includes a first portion of keys, and the second working range-includes a second portion of keys, wherein determining whether the range of keys should be split into the first working range and the second working range is performed by determining whether the range of keys is situated within a single block on a physical, non-transitory computer usable storage medium for storing data in the database system, and wherein examination is performed on a branch between a first leaf block and a second leaf block and a determination is made whether the range of keys is over both the first leaf block and the second leaf block;
splitting, in response to the determination of whether the range of keys should be split, the range of keys into the first and second portion of keys; and
separately processing the first portion and the second portion to determine the one or more life intervals of one or more keys of the first and second portion of keys, wherein the determination of the life interval comprises applying a portion of an undo log record in a reverse temporal order to restore the one or more past versions by respectively re-generating the one or more past versions into a database table or one or more instances of the database table.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a mechanism, system, interface, and process to determine one or more life intervals when given a key. In addition, one or more life intervals can be determined for each key within a range of keys. This type of process is useful for auditing purposes or if it is desire to implement a query upon past versions when a key or range of keys is specified for the data for which past versions is desired. This facilitates algorithms, mechanisms, and processes to implement a query upon past versions.
38 Citations
17 Claims
-
1. A method for determining one or more life intervals for a range of keys in a database system to retrieve one or more past versions of one or more data items corresponding to the range of keys in the database system, comprising:
-
using at least one computing system to execute a process, the process comprising; receiving a range of keys for which it is desired to determine one or more life intervals; determining whether the range of keys should be split into a first working range and a second working range based at least in part upon storage locations of the first working range and the second working range, wherein the first working range includes a first portion of keys, and the second working range-includes a second portion of keys, wherein determining whether the range of keys should be split into the first working range and the second working range is performed by determining whether the range of keys is situated within a single block on a physical, non-transitory computer usable storage medium for storing data in the database system, and wherein examination is performed on a branch between a first leaf block and a second leaf block and a determination is made whether the range of keys is over both the first leaf block and the second leaf block; splitting, in response to the determination of whether the range of keys should be split, the range of keys into the first and second portion of keys; and separately processing the first portion and the second portion to determine the one or more life intervals of one or more keys of the first and second portion of keys, wherein the determination of the life interval comprises applying a portion of an undo log record in a reverse temporal order to restore the one or more past versions by respectively re-generating the one or more past versions into a database table or one or more instances of the database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product comprising a non-transitory computer usable medium having executable code to execute a process for determining one or more life intervals for a range of keys in a database system to retrieve one or more past versions for one or more data items corresponding to the range of keys in the database system, the process comprising:
-
receiving a range of keys for which it is desired to determine one or more life intervals; determining whether the range of keys should be split into a first working range and a second working range based at least in part upon storage locations of the first working range and the second working range, wherein the first working range includes a first portion of keys, and the second working range-includes a second portion of keys, wherein determining whether the range of keys should be split into the first working range and the second working range is performed by determining whether the range of keys is situated within a single block on a physical, non-transitory computer usable storage medium for storing data in the database system, and wherein examination is performed on a branch between a first leaf block and a second leaf block and a determining is made whether the range of keys is over both the first leaf block and the second leaf block; splitting, in response to the determination of whether the range of keys should be split, the range of keys into the first and second portion of keys; and separately processing the first portion and the second portion to determine the one or more life intervals of one or more keys of the first and second portion of keys, wherein the determination of the life interval comprises applying a portion of an undo log record in a reverse temporal order to restore the one or more past versions by respectively re-generating the one or more past versions into a database table or one or more instances of the database table. - View Dependent Claims (14, 15)
-
-
13. A system for determining one or more life intervals for a range of keys in a database system to retrieve one or more past versions for one or more data items corresponding to the range of keys in the database system, comprising:
-
a computer system which comprises at least one processor that is configured at least to; receive a range of keys for which it is desired to determine one or more life intervals; determine whether the range of keys should be split into a first working range and a second working range based at least in part upon storage locations of the first working range and the second working range, wherein the first working range includes a first portion of keys, and the second working range includes a second portion of keys, wherein determining whether the range of keys should be split into the first working range and the second working range is performed by determining whether the range of keys is situated within a single block on a physical, non-transitory computer usable storage medium for storing data in the database system, and wherein examination is performed on a branch between a first leaf block and a second leaf block and a determinion is made whether the range of keys is over both the first leaf block and the second leaf block; split, in response to the determination of whether the range of keys should be split, the range of keys into the first and second portion of keys; and separately process the first portion and the second portion to determine the one or more life intervals of one or more keys of the first and second portion of keys, wherein the determination of the life interval comprises applying a portion of an undo log record in a reverse temporal order to restore the one or more past versions by respectively re-generating the one or more past versions into a database table or one or more instances of the database table. - View Dependent Claims (16, 17)
-
Specification