Modern relational databases support views, virtual tables defined in terms of queries. A view is not necessarily explicitly stored. However, a view can be materialized by physically storing the result of the view in the database. The major advantage of using materialized views is speed---it is often quicker to access a materialized view than to recompute the corresponding query from scratch. The database system in our work maintains a materialized view incrementally to reestablish view consistency whenever the underlying data pertinent to the view is modified.
The ability to use materialized views yields a significant performance benefit, not only to novel applications built on a data-warehouse, but also to already existing business applications. The importance of materialized views stems from the constant decrease in storage prices. The problem of supporting materialized views is a re-emerging research topic, since some of the fundamental work was done during the late 80s. Nevertheless, the question of practical feasibility has remained unclear. The purpose of the research gathered in this thesis is to answer this question.
Our first contribution is a set of solutions to the efficiency and consistency problems that arise when extending today's database system to support materialized views. We develop a number of key techniques that minimize the overhead of maintaining the auxiliary information required for view maintenance. We develop a model based on the notion of viewgroups to facilitate multiple view maintenance policies. We also develop concurrency control algorithms that guarantee serializability to transactions running in the presence of materialized views. In addition, we examine an extension of these techniques to cope with more complex, nested type of view definitions.
In order to demonstrate technical feasibility of materialized views, we produce a prototype system on Ode, a publicly available object-oriented database system. The second contribution is the lessons gained from this experience. A number of implementation strategies detailed in this thesis will provide a hint for any database systems wishing to incorporate materialized views. Another contribution is a variety of detailed performance studies based on this implementation. The result gives a very good understanding of the costs, strengths, weaknesses, and tradeoffs of our proposals.
©Akira Kawaguchi, Published in February 1998 Columbia University