Labrinidis, A. and Roussopoulos, N. (2000). WebView materialization. In Proc. ACM SIGMOD 2000, pp. 367–378. DOI 10.1145/342009.335430

Key takeaways

Read in full (NOTE-908). For a page built from database queries, the paper compares three ways to serve it on a server with online updates: compute it on each request (virt), store the query result in the DBMS and refresh it on every update (matdb), or store the finished page as a file at the web server and rewrite it on every update (matweb). It gives a cost model summing access and update costs by their frequencies and states the selection problem (choose a policy per page to minimize mean response time, no space limit, no staleness allowed), but gives no algorithm for it. On one Apache/Informix testbed with cheap indexed queries, matweb answered 10 to 230 times faster than the other two at all loads tried, and matdb was slower than virt whenever there were updates, because reading the stored result cost about as much as recomputing it. Staleness is defined as the delay from update to reply, sketched, and never measured; build cost and storage are outside the model.

Why this is here

QUESTION-114 and CLAIM-303: compares computing a derived page on request, storing the query result, and storing the finished page, with a cost model of access and update workloads. It forbids staleness and gives no selection algorithm. On its testbed a stored query result lost to recomputing because reading it cost about as much as rebuilding it, and refreshing stored pages slowed the pages not stored.