System and method for asynchronous view maintenance
First Claim
Patent Images
1. A computer system, comprising:
- at least one general purpose computer executing method acts to refresh a view table, the method acts comprising;
deriving changes to at least one base table accessible to the computer to render at least one delta table, the base table being combinable with other tables to render the view table;
associating at least one record timestamp with at least one record in at least one delta table;
combining at least one delta table with at least one base table to render a combination table;
computing at least one combination timestamp representing the combining act;
using the combination timestamp, computing at least one compensation table; and
combining at least one compensation table with at least one combination table to render a view delta table useful for refreshing the view table.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for refreshing materialized join views includes asynchronously evaluating changes to the base tables, i.e., evaluating changes for an intended time tintended at an evaluation time teval that is later than the intended time. Changes made to the base table between the intended time tintended and evaluation time teval are recursively compensated for. The results of the evaluating and compensating are then applied to the materialized view to refresh the view.
145 Citations
30 Claims
-
1. A computer system, comprising:
-
at least one general purpose computer executing method acts to refresh a view table, the method acts comprising;
deriving changes to at least one base table accessible to the computer to render at least one delta table, the base table being combinable with other tables to render the view table;
associating at least one record timestamp with at least one record in at least one delta table;
combining at least one delta table with at least one base table to render a combination table;
computing at least one combination timestamp representing the combining act;
using the combination timestamp, computing at least one compensation table; and
combining at least one compensation table with at least one combination table to render a view delta table useful for refreshing the view table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented method for refreshing a materialized view, comprising the acts of:
-
evaluating changes for an intended time tintended to at least one base table associated with the view at an evaluation time teval later than the intended time;
recursively compensating for changes made to at least one base table associated with the view between the intended time tintended and evaluation time teval; and
applying the results of the evaluating and compensating acts to the materialized view to refresh the view. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
deriving changes to at least one base table to render at least one delta table, the base table being combinable with other tables to render the view;
associating at least one record timestamp with at least one record in at least one delta table;
combining at least one delta table with at least one base table to render a combination table;
computing at least one combination timestamp representing the combining act;
using the combination timestamp, computing at least one compensation table; and
combining at least one compensation table with the combination table to render a view delta table useful for refreshing the view table.
-
-
17. The method of claim 16, wherein the act of rendering the delta table accounts for transactions to a time tintended, and the rendering of the delta table is undertaken at a time prior to teval that is later than tintended, such that the delta tables are rendered asynchronously.
-
18. The method of claim 17, wherein tintended can be dynamically established during each of a number of repetitions of the method acts, such that changes to the view are propagated using a series of transactions the sizes of which are established by the selection of tintended for each repetition.
-
19. The method of claim 18, wherein changes to tuples in the view delta table are timestamped, such that the applying act is undertaken to propagate the changes to a time thighwater with validity.
-
20. The method of claim 15, wherein the act of deriving changes to at least one base table to render at least one delta table accounts for transactions from a time to prior to the time tintended.
-
21. The method of claim 15, wherein each tuple in a combination table or compensation table is associated with a count, and the count of each tuple is the product of the counts of the tuples from which it was derived.
-
22. The method of claim 21, wherein the counts of the tuples of a compensation table are conditionally negated before combining the compensation table with the view delta table.
-
23. The method of claim 16, wherein each tuple in a combination table or compensation table is associated with a timestamp, and the timestamp of each tuple is the minimum of the timestamps of the tuples from which it was derived.
-
24. A computer program device comprising:
-
a computer program storage device readable by a digital processing apparatus; and
a program on the program storage device and including instructions executable by the digital processing apparatus to incrementally compute changes to a materialized join view which reflect changes to base tables, the program comprising;
computer readable code means for recording updates to a plurality of base tables as they occur;
computer readable code means for, at subsequent times, extracting the updates that occurred to selected base tables over given time intervals;
computer readable code means for combining extracted updates with the base tables in multiple steps to compute changes to the materialized join view;
wherein the means for combining includes;
computer readable code means for evaluating changes for an intended time tintended to at least one base table associated with the view at an evaluation time teval later than the intended time;
computer readable code means for recursively compensating for changes made to the base table between the intended time tintended and evaluation time teval; and
computer readable code means for applying the results of the evaluating and compensating means to the materialized view to refresh the view. - View Dependent Claims (25, 26, 27, 28, 29, 30)
computer readable code means for deriving changes to at least one base table to render at least one delta table, the base table being combinable with other tables to render the view;
computer readable code means for associating at least one record timestamp with at least one record in at least one delta table;
computer readable code means for combining at least one delta table with at least one base table to render a combination table;
computer readable code means for computing at least one combination timestamp;
computer readable code means for using the combination timestamp to compute at least one compensation table; and
computer readable code means for applying at least one compensation table and at least one combination table to render a view delta table useful for refreshing the view.
-
-
27. The device of claim 26, wherein the means for rendering the delta table accounts for transactions to a time tintended, and the rendering of the delta table is undertaken prior to a time teval that is later than tintended, such that the delta tables are rendered asynchronously.
-
28. The device of claim 27, wherein tintended can be dynamically established during each of a number of repetitions, such that changes to the view are propagated using a series of transactions the sizes of which are established by the selection of tintended for each repetition.
-
29. The device of claim 26, wherein each tuple in a combination table or compensation table is associated with a count and a timestamp, and the count of each tuple is the product of the counts of the tuples from which it was derived and the timestamp of each tuple is the minimum of the timestamps of the tuples from which it was derived.
-
30. The device of claim 29, further comprising computer readable code means for selectively negating the counts of the tuples of a compensation table before combining the compensation table with the view delta table.
Specification