Method and apparatus for refreshing materialized views
First Claim
1. A system that allows a table and a materialized view to be available while the materialized view is being refreshed, the system comprising:
- a materialized view that is derived at least in part from a table;
a refresh log that contains a plurality of entries, each of the plurality of entries corresponding to a change in the table, each of the plurality of entries comprising an epoch identifier; and
a refresh manager that performs a refresh operation on the materialized view in multiple steps by (a) successively reading a first subset of the plurality of entries indicated by a specific epoch identifier from the refresh log, (b) identifying a second subset of the plurality of entries from within the first subset of the plurality of entries, the second subset of the plurality of entries falling within a primary key value boundary and (c) applying the second subset of the plurality of entries to the materialized view.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed embodiments relate to a system and method for refreshing a materialized view that is at least in part derived from a table. The system may be adapted to provide availability of the table and the materialized view while the materialized view is being refreshed. The system may include a refresh log that contains a plurality of entries, each of the plurality of entries corresponding to a change in the table, each of the plurality of entries comprising an epoch identifier. The system may also include a refresh manager that performs a refresh operation on the materialized view in multiple steps by (a) successively reading a first subset of the plurality of entries indicated by a specific epoch identifier from the refresh log, (b) identifying a second subset of the plurality of entries from within the first subset of the plurality of entries, the second subset of the plurality of entries falling within a primary key value boundary and (c) applying the second subset of the plurality of entries to the materialized view.
-
Citations
30 Claims
-
1. A system that allows a table and a materialized view to be available while the materialized view is being refreshed, the system comprising:
-
a materialized view that is derived at least in part from a table;
a refresh log that contains a plurality of entries, each of the plurality of entries corresponding to a change in the table, each of the plurality of entries comprising an epoch identifier; and
a refresh manager that performs a refresh operation on the materialized view in multiple steps by (a) successively reading a first subset of the plurality of entries indicated by a specific epoch identifier from the refresh log, (b) identifying a second subset of the plurality of entries from within the first subset of the plurality of entries, the second subset of the plurality of entries falling within a primary key value boundary and (c) applying the second subset of the plurality of entries to the materialized view. - View Dependent Claims (2, 3, 4)
-
-
5. A method of refreshing a materialized view that is in part derived from a table, the method being adapted to improve the availability of the table and the materialized view while the materialized view is being refreshed, the method comprising:
-
deriving a materialized view from at least one table;
assigning an epoch identifier to changes made to the at least one table;
storing an entry corresponding to each change to the at least one table in a refresh log that includes a plurality of entries, each of the plurality of entries comprising an epoch identifier; and
performing a refresh operation in multiple operations, each of the multiple operations comprising (a) successively reading a first subset of the plurality of entries indicated by a specific epoch identifier from the refresh log, (b) identifying a second subset of the plurality of entries from within the first subset of the plurality of entries, the second subset of the plurality of entries falling within a primary key value boundary and (c) applying the second subset of the plurality of entries to the materialized view. - View Dependent Claims (6, 7, 8)
-
-
9. A system that provides availability of a table and a materialized view while the materialized view is being refreshed, the table being derived at least in part from the materialized view, the system comprising:
-
a refresh log that contains a plurality of entries; and
a refresh manager that computes a table delta based on the refresh log and applies the table delta to the materialized view. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of refreshing a materialized view that is derived at least in part from a table, the method being adapted to provide availability of the table and the materialized view while the materialized view is being refreshed, the method comprising the acts of:
-
storing a plurality of entries corresponding to changes in the table in a refresh log;
computing a table delta based on the refresh log;
refreshing the materialized view based on the table delta. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A system that provides availability of a table and a materialized view while the materialized view is being refreshed, the table being derived at least in part from the materialized view, the system comprising:
-
a refresh log that contains a plurality of entries; and
means for computing a table delta based on the refresh log; and
means for applying the contents of the table delta to the materialized view. - View Dependent Claims (24, 25, 26)
-
-
27. A computer program, comprising:
-
a machine readable medium;
a refresh log stored on the machine readable medium, the refresh log containing a plurality of entries; and
a refresh manager stored on the machine readable medium, the refresh manager being adapted to refresh a materialized view that is derived at least in part from a table by computing a table delta based on the refresh log and applying the table delta to the materialized view. - View Dependent Claims (28, 29, 30)
-
Specification