Pre-computation and materialization of views with aggregate functions
is a common technique in Data Warehouses. Due to the complex structure
of the warehouse and the different profiles of the users who submit
queries, there is need for tools that will automate the selection and
management of the materialized data. In this paper we present DynaMat,
a system that dynamically materializes information at multiple levels
of granularity in order to match the demand (workload) but also takes
into account the maintenance restrictions for the warehouse, such as
down time to update the views and space availability. DynaMat unifies
the view selection and the view maintenance problems under a single
framework using a ``goodness'' measure for the materialized views.
DynaMat constantly monitors incoming queries and materializes the best
set of views subject to the space constraints. During updates, DynaMat
reconciles the current materialized view selection and refreshes the
most beneficial subset of it within a given maintenance window. We
compare DynaMat against a system that is given all queries in advance
and the pre-computed optimal static view selection. The comparison is
made based on a new metric, the Detailed Cost Savings Ratio introduced
for quantifying the benefits of view materialization against incoming
queries. These experiments show that DynaMat's dynamic view selection
outperforms the optimal static view selection and thus, any
sub-optimal static algorithm that has appeared in the literature.