A Middleware System Which Intelligently Caches Query Results

This paper describes how caching was used to improve performance in the Accessible Business Rules framework (ABR) for IBM's Websphere. ABR is a middleware system which enables application writers to build applications where the time and situation-variable parts of their business logic are externally applied entities known as business rules. The cache significantly reduced the number of queries to remote databases by storing query results. A key problem we faced was how to keep the cache current after database updates. This was solved using data update propagation (DUP). Two enhancements we made to DUP were to employ an update strategy which considers the values of database updates in order to perform intelligent cache invalidations and to automatically compute dependencies using compile and run-time analysis. Our techniques can be applied to other caching environments besides ABR. We show how our cache invalidation strategies perform for applications with database updates having queries similar to those in the Set Query benchmark.

[1]  Eric Levy-Abegnoli,et al.  Design and performance of a Web server accelerator , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[2]  Arthur M. Keller,et al.  A predicate-based caching scheme for client-server database architectures , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[3]  Arun Iyengar,et al.  Design and performance of a general-purpose software cache , 1999, 1999 IEEE International Performance, Computing and Communications Conference (Cat. No.99CH36305).

[4]  Ian Simmonds,et al.  Business Objects and Business Rules , 1998 .

[5]  Arun Iyengar,et al.  Improving Web Server Performance by Caching Dynamic Data , 1997, USENIX Symposium on Internet Technologies and Systems.

[6]  Jeffrey F. Naughton,et al.  Caching multidimensional queries using chunks , 1998, SIGMOD '98.

[7]  Arun Iyengar,et al.  Data Update Propagation: A Method for Determining How Changes to Underlying Data A ect Cached Objects on the Web , 1998 .

[8]  Joel H. Saltz,et al.  Using Distributed Query Result Caching to Evaluate Queries for Parallel Data Mining Algorithms , 1998 .

[9]  Laura M. Haas,et al.  Loading a Cache with Query Results , 1999, VLDB.

[10]  Nick Roussopoulos,et al.  Performance and Scalability of Client-Server Database Architectures , 1992, VLDB.

[11]  Divesh Srivastava,et al.  Semantic Data Caching and Replacement , 1996, VLDB.

[12]  Nick Roussopoulos,et al.  The Implementation and Performance Evaluation of the ADMS Query Optimizer: Integrating Query Result Caching and Matching , 1994, EDBT.

[13]  Nick Roussopoulos,et al.  DynaMat: a dynamic view management system for data warehouses , 1999, SIGMOD '99.

[14]  K. Selçuk Candan,et al.  Query caching and optimization in distributed mediator systems , 1996, SIGMOD '96.

[15]  Arun Iyengar,et al.  A scalable system for consistently caching dynamic Web data , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).