Don't Trash your Intermediate Results, Cache 'em
<|reference_start|>Don't Trash your Intermediate Results, Cache 'em: In data warehouse and data mart systems, queries often take a long time to execute due to their complex nature. Query response times can be greatly improved by caching final/intermediate results of previous queries, and using them to answer later queries. In this paper we describe a caching system called Exchequer which incorporates several novel features including optimization aware cache maintenance and the use of a cache aware optimizer. In contrast, in existing work, the module that makes cost-benefit decisions is part of the cache manager and works independent of the optimizer which essentially reconsiders these decisions while finding the best plan for a query. In our work, the optimizer takes the decisions for the cache manager. Furthermore, existing approaches are either restricted to cube (slice/point) queries, or cache just the query results. On the other hand, our work is extens ible and in fact presents a data-model independent framework and algorithm. Our experimental results attest to the efficacy of our cache management techniques and show that over a wide range of parameters (a) Exchequer's query response times are lower by more than 30% compared to the best performing competitor, and (b) Exchequer can deliver the same response time as its competitor with just one tenth of the cache size.<|reference_end|>
@article{roy2000don't,
    title={Don't Trash your Intermediate Results, Cache 'em},
    author={Prasan Roy, Krithi Ramamritham, S. Seshadri, Pradeep Shenoy, S.
  Sudarshan},
    journal={arXiv preprint arXiv:cs/0003005},
    year={2000},
    archivePrefix={arXiv},
    eprint={cs/0003005},
    primaryClass={cs.DB}
}