Tue, April 14, 2009 - 1800: 2100 FAST - NU, Karachi
Tue, April 14, 2009 - 1800: 2100 FAST - NU, Karachi
performance from well-designed database indexes, both MOLAP and ROLAP took the approach of aggregating data grouped by dimensional hierarchies to speed up queries by orders of magnitude. When this came to the attention of the database research community, it became clear that MOLAP/ROLAP efficiency, leaving specialized semantics apart, could be traced to an approach of pre-computing query results, or in database terms materializing views, and a tremendous outpouring of papers on materialized views followed
4
View Maintenance
The process of updating a materialized view in
response to changes to the underlying data MV gets dirty whenever the underlying base relations are modified Incremental View Maintenance
It is wasteful to maintain a view by re-computing it from
scratch Often it is cheaper to use the heuristic of inertia (only a part of the view changes in response to changes in the base relations) Compute only the changes in the view to update its materialization
6
Information Dimension
Information Dimension The amount of information available for view maintenance Information may include base relations, materialized view itself and knowledge of constraints and keys
contract); and View expensive_ parts (part_num) = part_num where part_cost > 1000 Consider maintaining the view when a tuple p1 is inserted into relation part Different view maintenance algorithms can be designed depending upon the information available Consider following cases
9
already is present in the view If so, there is no change to the materialization, else insert part p1 into the materialization
has the same part_num but greater or equal cost If such a tuple exists then the inserted tuple does not contribute to the view
be inserted
10
Modification Dimension
Modification Dimension What modifications can the view maintenance algorithm handle? Modifications may include insertion and deletion of tuples to base relations, direct updates, deletions followed by insertions, changes to the view definition etc.
11
Language Dimension
Language Dimension Is the view expressed as relational algebra (SQL or a subset of SQL) Can it have duplicates? Can it use aggregation?
12
Instance Dimension
Instance Dimension Database instance: Does the view maintenance algorithm work for all instances of the database? Modification instance: Does it work for all instances of the modification?
13
supplier (supplier_num; part_num; price) and part (part_num,) The view contains the distinct part numbers that are supplied by at least one supplier
Maintenance
Use of a join makes it impossible to maintain supplier_parts
in response to insertions to part when using only the view View supplier_ parts is maintainable if the view contains part_num p1 but not otherwise Maintainability of a view depends also on the particular instances
14