Run-time Management of Data Intensive Web-sites
Abstract
An increasing number of web sites have their data extracted from relational databases. Several commercial products and research prototypes have been moving in the direction of declarative specification of the structure and content of sites. Specifically, the entire site is specified using a collection of queries describing the site's nodes (corresponding to web pages and the data contained in them) and edges (corresponding to the hyperlinks). Given this paradigm, an important issue is when to compute the site's pages. In one extreme approach, the site is precomputed in advance, while in the other extreme, the queries necessary to construct a given page are computed on demand. Both approaches have their obvious drawbacks: large space and maintenance overhead in the first approach, and poor run-time performance and unnecessary repeated computations in the second. In this paper we consider the problem of automatically optimizing the run-time management of declaratively specified web sites. In our approach, given a declarative site specification and constraints on the application, an efficient run-time evaluation policy is derived automatically. An evaluatio- n policy specifies which data to compute at a given browser request. We describe several optimizations that can be used in run-time policies, focusing mostly on optimizations that exploit the of the web site definition. We evaluate experimentally the impact of these optimizations on a web site derived from the TPC/D database. Finally, we describe a heuristic-based optimization algorithm which compiles a declarative site specification into a run-time policy that incorporates our novel optimizations.