Building indexes on columns containing large objects
First Claim
1. A method for accessing data that belongs to a particular snapshot, the method comprising the steps of:
- using an index to locate an index entry associated with the data;
applying one or more undo records to the index entry to reconstruct a non-current version of the index entry;
reading location information from the non-current version of the index entry; and
accessing a non-current version of the data stored at a location identified by the location information;
wherein both the non-current version of the index entry and the non-current version of the data belong to the particular snapshot.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for accessing a large object (LOB) that belongs to a cell in a table are provided. An index is built on a column in which the cell resides. The index has a key that includes a LOB identifier. A database server receives from a client a request to access the LOB. The server uses a LOB identifier value for the LOB to traverse the index to locate an index entry for the LOB. The server then follows address information contained in the index entry to a storage containing at least a portion of the LOB and accesses the portion of the LOB as specified in the request. A method and system for tracking storage for data items are also disclosed. Within an index that is built to access the data items are stored both index entries for locating blocks that store current versions of the data items, and index entries for locating blocks that store non-current versions of the data items.
-
Citations
9 Claims
-
1. A method for accessing data that belongs to a particular snapshot, the method comprising the steps of:
-
using an index to locate an index entry associated with the data;
applying one or more undo records to the index entry to reconstruct a non-current version of the index entry;
reading location information from the non-current version of the index entry; and
accessing a non-current version of the data stored at a location identified by the location information;
wherein both the non-current version of the index entry and the non-current version of the data belong to the particular snapshot. - View Dependent Claims (2, 3)
using the index to locate a second index entry associated with the second data;
using location information in the second index entry to find a first version of the second data on non-volatile memory, wherein the first version is currently a most recent version of the second data;
reading the first version of the second data into volatile memory;
updating the first version of the second data in volatile memory to create a second version of the second data;
storing the second version of the second data onto non-volatile memory at a different location than the first version of the second data; and
performing an update to the location information in the second index entry to indicate the different location at which the second version of the second data is stored.
-
-
3. The method as recited in claim 2, further comprising the step of, in response to performing the update to the location information, generating undo information that indicates how to undo the update to the location information.
-
4. A computer-readable medium carrying one or more sequences of one or more instructions for accessing data that belongs to a particular snapshot, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
using an index to locate an index entry associated with the data;
applying one or more undo records to the index entry to reconstruct a non-current version of the index entry;
reading location information from the non-current version of the index entry; and
accessing a non-current version of the data stored at a location identified by the location information;
wherein both the non-current version of the index entry and the non-current version of the data belong to the particular snapshot. - View Dependent Claims (5, 6)
using the index to locate a second index entry associated with the second data; using location information in the second index entry to find a first version of the second data on non-volatile memory, wherein the first version is currently a most recent version of the second data;
reading the first version of the second data into volatile memory;
updating the first version of the second data in volatile memory to create a second version of the second data;
storing the second version of the second data onto non-volatile memory at a different location than the first version of the second data; and
performing an update to the location information in the second index entry to indicate the different location at which the second version of the second data is stored.
-
-
6. The computer-readable medium as recited in claim 5, further comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of, in response to performing the update to the location information, generating undo information that indicates how to undo the update to the location information.
-
7. A database server configured to provide data that belongs to a particular snapshot to a client requesting the data by:
-
using an index to locate an index entry associated with the data;
applying one or more undo records to the index entry to reconstruct a non current version of the index entry;
reading location information from the non-current version of the index entry; and
accessing a non-current version of the data stored at a location identified by the location information;
wherein both the non-current version of the index entry and the non-current version of the data belong to the particular snapshot. - View Dependent Claims (8, 9)
using the index to locate a second index entry associated with the second data;
using location information in the second index entry to find a first version of the second data on non-volatile memory, wherein the first version is currently a most recent version of the second data;
reading the fist version of the second data into volatile memory;
updating the first version of the second data in volatile memory to create a second version of the second data;
storing the second version of the second data onto non-volatile memory at a different location than the first version of the second data; and
performing an update to the location information in the second index entry to indicate the different location at which the second version of the second data is stored.
-
-
9. The database server as recited in claim 8, wherein the database server is further configured to in response to performing the update to the location information, generating undo information that indicates how to undo the update to the location information.
Specification