Caching is used externally to DB systems to cache data retrieved from a DB in order to reduce delays associated with the network data transfer and to reduce the load on the DB servers. In-memory predicate caches manage data in units that are described by queries' predicates. A self-managed cache utilizes only information that it can garner from queries issued by the applications and replies from the server. We use multiple buffers in a self-managed memory predicate cache. Management of storage is performed using classification of queries based on their join predicates-each class of queries is assigned a separate buffer. We propose an allocation strategy to assign the limited memory space to the multiple buffers and evaluate the proposed scheme using the TPC-W benchmark.
['Yaomin Fu', 'Peter Bodorik', 'Dawn N. Jutla']
A self-managed predicate-based cache