Technique for stabilizing data in a non-log based information storage and retrieval system
First Claim
1. A method of collecting data in an information storage and retrieval system comprising:
- identifying collectable data in a first memory type;
storing a data page in a first buffer in a second memory type;
identifying non-collectable data in the first buffer and storing the non-collectable data in a second buffer;
determining whether the non-collectable data is referenced in an object table;
setting a first checkpoint flag field in an allocation map in the first memory type; and
flushing the second buffer to the first memory type.
3 Assignments
0 Petitions
Accused Products
Abstract
A technique for stabilizing and collecting data in an information storage and retrieval system, referred to as checkpointing, is described. Checkpointing is used to increase the speed of the database during a recovery by only scanning data that the information storage and retrieval system knows is unstable, instead of scanning all the data in the database. Data that is deemed collectable, such as old data or obsolete data, is identified in a non-persistent memory space, such as a cache memory. A data page contained in an initial or first buffer is stored, also in the form of a data page, to a persistent memory type, such as a hard drive or virtual memory. Next, non-collectable data, or data that is to be maintained, in the initial or first buffer is identified. This data is stored in a second buffer. It is then determined whether the non-collectable data is referenced in an object table in the information storage and retrieval system. A first checkpoint flag field in an allocation map in the non-persistent memory area is set. Once the checkpoint flag field is set, the second buffer is flushed to the non-persistent memory type.
-
Citations
16 Claims
-
1. A method of collecting data in an information storage and retrieval system comprising:
-
identifying collectable data in a first memory type;
storing a data page in a first buffer in a second memory type;
identifying non-collectable data in the first buffer and storing the non-collectable data in a second buffer;
determining whether the non-collectable data is referenced in an object table;
setting a first checkpoint flag field in an allocation map in the first memory type; and
flushing the second buffer to the first memory type. - View Dependent Claims (2, 3, 4, 6, 7)
-
-
8. An information storage and retrieval system capable of intrinsic versioning of data comprising:
-
a disk header having an object table root address and an allocation map area address;
an allocation map area having at least one allocation map having a checkpoint flag field;
a stable data segment having a current persistent object table, a saved object table, and stable data; and
an unstable data segment containing unstable data. - View Dependent Claims (9)
-
-
10. A method of stabilizing a database comprising:
-
flushing an object table from a first memory type to a second memory type;
migrating a checkpoint flag from a first allocation map to a second allocation map in the first memory type;
moving the second allocation map to the second memory type; and
updating a header of the second memory type to indicate a location of the object table and the second allocation map. - View Dependent Claims (11)
-
-
12. A method of stabilizing a non-log based database, the method comprising:
-
determining which data has not been stabilized by examining a checkpoint flag, wherein the data is in the form of an object version having one of a transaction identifier and a version identifier;
determining if the object version is mapped to an object table; and
if the object version is mapped to the object table, setting the checkpoint flag for the object version, thereby designating the object version as stable data and ignorable data when rebuilding the object table after a restart of the database.
-
-
13. A computer program product of collecting data in an information storage and retrieval system comprising:
a computer usable medium having computer readable code embodied therein, the computer readable code comprising;
computer code for identifying collectable data in a first memory type;
computer code for storing a data page in a first buffer in a second memory type;
computer code for identifying non-collectable data in the first buffer and storing the non-collectable data in a second buffer;
computer code for determining whether the non-collectable data is referenced in an object table;
computer code for setting a first checkpoint flag field in an allocation map in the first memory type; and
computer code for flushing the second buffer to the first memory type.
-
14. A computer program product of stabilizing a non-log based database, the computer program product comprising:
a computer usable medium having computer readable code embodied therein, the computer readable code comprising;
computer code for determining which data has not been stabilized by examining a checkpoint flag, wherein the data is in the form of an object version having one of a transaction identifier and a version identifier;
computer code for determining if the object version is mapped to an object table; and
computer code for setting the checkpoint flag for the object version if the object version is mapped to the object table, thereby designating the object version as stable data and ignorable data when rebuilding the object table after a restart of the database.
-
15. A computer program product for stabilizing data in a database, the computer program product comprising:
a computer usable medium having computer readable code embodied therein, the computer readable code comprising;
computer code for flushing an object table from a first memory type to a second memory type;
computer code for migrating a checkpoint flag from a first allocation map to a second allocation map in the first memory type;
computer code for moving the second allocation map to the second memory type; and
computer code for updating a header of the second memory type to indicate a location of the object table and the second allocation map.
-
16. A system for collecting data in an information storage and retrieval system comprising:
-
means for identifying collectable data in a first memory type;
means for storing a data page in a first buffer in a second memory type;
means for identifying non-collectable data in the first buffer and storing the non-collectable data in a second buffer;
means for determining whether the non-collectable data is referenced in an object table;
means for setting a first checkpoint flag field in an allocation map in the first memory type; and
means for flushing the second buffer to the first memory type.
-
Specification