Recovering a database to any point-in-time in the past with guaranteed data consistency
First Claim
Patent Images
1. A data management method, comprising:
- capturing, in real time, complete record changes of a database-system data source along a single data path;
wherein an actual change order of the complete record changes is preserved;
wherein changes to new volumes are captured;
receiving from the database-system data source, as a real-time continuous history of the database-system data source, a real-time event journal;
storing in a data store the real-time continuous history of the database-system data source as a logical representation, wherein consistent checkpoint images of different database versions, real-time event journal versions, and database transactions are stored in association with time stamps indicating when the database versions and journal versions were created and when the transactions occurred; and
using the logical representation for any point-in-time recovery of a data set of the database-system data source, wherein the any point-in-time recovery includes;
choosing a desired point-in-time to which to recover the data set;
identifying, using a first level of indexing that tracks consistent database versions, a closest database version that was created right before the desired point-in-time;
identifying, using a second level of indexing that tracks real-time event journal versions between the consistent database checkpoints, a closest real-time event journal version that was created after the closest database version and right before the desired point-in-time;
identifying, using a third level of indexing that tracks database transactions between the real-time event journal versions, a list of database transactions that occurred after the closest real-time event journal version and before the desired point-in-time; and
restoring the closest database version, restoring the closest real-time event journal version, and rolling forward the database state to the desired point-in-time using the identified list of database transactions.
24 Assignments
0 Petitions
Accused Products
Abstract
A data management method wherein a real-time history of a database system is stored as a logical representation and the logical representation is then used for any point-in-time recovery of the database system. More specifically, a method for capturing transaction data, binary data changes, metadata, and events, and for tracking a real-time history of a database system according to the events. The method enables tracking and storing of consistent checkpoint images of the database system, and also enables tracking of transaction activities between checkpoints. The database system may be recovered to any consistent checkpoint or to any point between two checkpoints.
-
Citations
15 Claims
-
1. A data management method, comprising:
-
capturing, in real time, complete record changes of a database-system data source along a single data path; wherein an actual change order of the complete record changes is preserved; wherein changes to new volumes are captured; receiving from the database-system data source, as a real-time continuous history of the database-system data source, a real-time event journal; storing in a data store the real-time continuous history of the database-system data source as a logical representation, wherein consistent checkpoint images of different database versions, real-time event journal versions, and database transactions are stored in association with time stamps indicating when the database versions and journal versions were created and when the transactions occurred; and using the logical representation for any point-in-time recovery of a data set of the database-system data source, wherein the any point-in-time recovery includes; choosing a desired point-in-time to which to recover the data set; identifying, using a first level of indexing that tracks consistent database versions, a closest database version that was created right before the desired point-in-time; identifying, using a second level of indexing that tracks real-time event journal versions between the consistent database checkpoints, a closest real-time event journal version that was created after the closest database version and right before the desired point-in-time; identifying, using a third level of indexing that tracks database transactions between the real-time event journal versions, a list of database transactions that occurred after the closest real-time event journal version and before the desired point-in-time; and restoring the closest database version, restoring the closest real-time event journal version, and rolling forward the database state to the desired point-in-time using the identified list of database transactions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:
-
capturing, in real time, complete record changes of a database-system data source along a single data path; wherein an actual change order of the complete record changes is preserved; wherein changes to new volumes are captured; receiving from the database-system data source, as a real-time continuous history of the database-system data source, a real-time event journal; storing in a data store the real-time continuous history of the database-system data source as a logical representation, wherein consistent checkpoint images of different database versions, real-time event journal versions, and database transactions are stored in association with time stamps indicating when the database versions and journal versions were created and when the transactions occurred; and using the logical representation for any point-in-time recovery of a data set of the database-system data source, wherein the any point-in-time recovery includes; choosing a desired point-in-time to which to recover the data set; identifying, using a first level of indexing that tracks consistent database versions, a closest database version that was created right before the desired point-in-time; identifying, using a second level of indexing that tracks real-time event journal versions between the consistent database checkpoints, a closest real-time event journal version that was created after the closest database version and right before the desired point-in-time; identifying, using a third level of indexing that tracks database transactions between the real-time event journal versions, a list of database transactions that occurred after the closest real-time event journal version and before the desired point-in-time; and restoring the closest database version, restoring the closest real-time event journal version, and rolling forward the database state to the desired point-in-time using the identified list of database transactions.
-
Specification