Database Caching: Analysis of Constraint-based Approaches Exemplified by Cache Groups

Caching is a proven means to improve scalability and availability of software systems as well as to reduce latency of user requests. In contrast to Web caching where single Web objects are kept ready somewhere in caches in the userto-server path, database caching uses a full-fledged DBMS as a cache to adaptively maintain sets of records from a remote DB and to evaluate queries on them. We give an introduction to the new class of constraint-based DB caching, by the example of cache groups. These cache groups are constructed from parameterized cache constraints, and their use is based on the key concepts of value and domain completeness. We show how cache constraints affect the correctness of query evaluations in the cache and which optimizations they allow. Finally, once unsafe cache configurations, whose performance is uncontrollable, are identified, the costs of safe ones can be analyzed quantitatively.

[1]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[2]  Mohamed Ziauddin,et al.  Materialized Views in Oracle , 1998, VLDB.

[3]  Sriram Padmanabhan,et al.  DBProxy: a dynamic data cache for web applications , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[4]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

[5]  Marc H. Scholl,et al.  Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery , 2001, SGMD.

[6]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[7]  Jonathan Goldstein,et al.  MTCache: Mid-Tier Database Caching for SQL Server , 2004, IEEE Data Eng. Bull..

[8]  Times-Ten Team Mid-tier caching: the TimesTen approach , 2002, SIGMOD '02.

[9]  László Böszörményi,et al.  A survey of Web cache replacement strategies , 2003, CSUR.

[10]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[11]  Hamid Pirahesh,et al.  Cache Tables: Paving the Way for an Adaptive Database Cache , 2003, VLDB.

[12]  Charles T. Davies,et al.  Data Processing Spheres of Control , 1978, IBM Syst. J..

[13]  Theo Härder DBMS Architecture - Still an Open Problem , 2005, BTW.

[14]  Theo Härder,et al.  Datenbank-Caching - Eine systematische Analyse möglicher Verfahren , 2004, Informatik Forschung und Entwicklung.

[15]  Jonathan Goldstein,et al.  MTCache: transparent mid-tier database caching in SQL server , 2004, Proceedings. 20th International Conference on Data Engineering.