Redundant version information in history table that enables efficient snapshot querying
First Claim
1. A method for efficient snapshot querying, comprising:
- providing a first version value for each data in a history table, wherein the first version value indicates a beginning of a period in which the data is valid;
providing at least a second version value for each data in the history table, wherein the second version value indicates an end of the period in which the data is valid;
receiving a request for a version of a database; and
retrieving the data with the first version value less than or equal to the requested version and the second version value greater than or equal to the requested version.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for efficient snapshot querying include: providing a first version value for each data in a history table, where the first version value indicates a beginning of a period in which the data is valid; providing at least a second version value for each data in the history table, where the second version value indicates an end of the period in which the data is valid; receiving a request for a version of a database; and retrieving the data with the first version value less than or equal to the requested version and the second version value greater than or equal to the requested version. By maintaining a history table with redundant version information, the method and system are able to provide efficient snapshot querying while also avoiding the overhead burden of conventional approaches. No aggregates, joins, or sub-queries are required to retrieve a snapshot.
-
Citations
24 Claims
-
1. A method for efficient snapshot querying, comprising:
-
providing a first version value for each data in a history table, wherein the first version value indicates a beginning of a period in which the data is valid;
providing at least a second version value for each data in the history table, wherein the second version value indicates an end of the period in which the data is valid;
receiving a request for a version of a database; and
retrieving the data with the first version value less than or equal to the requested version and the second version value greater than or equal to the requested version. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a database comprising a data table and a history table, wherein for each change to the data table, a row is added to the history table; and
a mechanism for maintaining the history table, wherein the maintaining comprises;
providing a first version value for the added row in the history table, wherein the first version value indicates a beginning of a period in which a data value of the added row is valid, and providing at least a second version value for the added row in the history table, wherein the second version value indicates an end of the period in which the data value of the added row is valid, wherein when a request for a version of the database is received, the data values with the first version value less than or equal to the requested version and the second version value greater than or equal to the requested version are retrieved from the history table. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium with program instructions for efficient snapshot querying, comprising:
-
providing a first version value for each data in a history table, wherein the first version value indicates a beginning of a period in which the data is valid;
providing at least a second version value for each data in the history table, wherein the second version value indicates an end of the period in which the data is valid;
receiving a request for a version of a database; and
retrieving the data with the first version value less than or equal to the requested version and the second version value greater than or equal to the requested version. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification