Client-server database systems based on a page server model can
exploit client memory resources by caching copies of pages across
transaction boundaries. Caching reduces the need to obtain data from
servers or other sites on the network. In order to ensure that such
caching does not result in the violation of transaction semantics, a cache
consistency maintenance algorithm is required. Many such algorithms have
been proposed in the literature and, as all provide the same
functionality, performance is a primary concern in choosing among them. In
this paper we provide a taxonomy that describes the design space for
transactional cache consistency maintenance algorithms and show how
proposed algorithms relate to one another. We then investigate the
performance of six of these algorithms, and use these results to examine
the tradeoffs inherent in the design choices identified in the taxonomy.
The insight gained in this manner is then used to reflect upon the
characteristics of other algorithms that have been proposed. The results
show that the interactions among dimensions of the design space can impact
performance in many ways, and that classifications of algorithms as simply
Pessimistic" or Optimistic" do not accurately characterize the
similarities and differences among the many possible cache consistency
algorithms.
(Also cross-referenced as UMIACS-TR-95-84