Caching has been proposed (and implemented) by OLAP systems in order
to reduce response times for multidimensional queries. Previous work
on such caching has considered table level caching and query level
caching. Table level caching is more suitable for static schemes.
On the other hand, query level caching can be used in dynamic schemes,
but is too coarse for ``large'' query results. Query level caching has
the further drawback for small query results in that it is only
effective when a new query is subsumed by a previously cached query. In
this paper, we propose caching small regions of the multidimensional
space called {\em ``chunks''}. Chunk-based caching allows fine granularity
caching, and allows queries to partially reuse the results of
previous queries with which they overlap. To facilitate the
computation of chunks required by a query but missing from the cache,
we propose a new organization for relational tables, which we
call a ``chunked file.'' Our experiments show that for workloads that
exhibit query locality, chunked caching combined with the chunked file
organization performs better than query level caching.
An unexpected benefit of the chunked file organization is that,
due to its multidimensional clustering properties, it can
significantly improve the performance of queries that ``miss'' the cache
entirely as compared to traditional file organizations.
Wisconsin DBMS Research Home Page