Dynamic caching of query results for decision support systems

Junho Shim*, Peter Scheuermann, Radek Vingralek

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

32 Scopus citations

Abstract

The response time of DSS (Decision Support System) queries is typically several orders of magnitude higher than the response time of OLTP (OnLine Transaction Processing) queries. Since DSS queries are often submitted interactively, techniques for reducing their response time are becoming increasingly important. We argue that caching of query results is one such technique particularly well suited to the DSS environment. We have designed a query cache manager for such an environment. The cache manager can lookup query results from the cache either based on an exact query match or using a query split algorithm to efficiently find query results which subsume the submitted query. The cache manager dynamically maintains the cache content by deciding whether a newly generated query result should be admitted to the cache and if so, which query results should be evicted from the cache to free space for the new query result. The decisions are aimed at minimizing the query response time. The decisions are explicitly based on a cost function that considers the execution cost of each query, the size of each query result, the reference frequency to each result, the cost of maintenance of each result due to updates of the base tables, and the frequency of such updates. Experimental evaluation shows that our cache manager can improve performance on TPC-D like workloads.

Original languageEnglish (US)
Pages (from-to)254-263
Number of pages10
JournalProceedings of the International Conference on Scientific and Statistical Database Management, SSDBM
StatePublished - Jan 1 1999

ASJC Scopus subject areas

  • Software
  • Applied Mathematics

Fingerprint Dive into the research topics of 'Dynamic caching of query results for decision support systems'. Together they form a unique fingerprint.

Cite this