Cache groups are a powerful concept for database caching, which is used to relieve the backend database load and to keep referenced data close to the application programs at the "edge of the Web". Such cache groups consist of cache tables containing a subset of the backend database's data, guided by cache constraints. If certain query types are anticipated in the application workload, specifically designed cache groups can directly process parts of incoming declarative queries. The main class of such queries, project-select-join queries, can be supported by specifying a proper set of referential cache constraints.
Cache groups should be managed in the most cost-effective way. Hence, redundant constraints should not be respected during cache loading and consistency maintenance to avoid unnecessary overhead. On the other hand, because as much queries as possible should be processable in the cache, all redundant relationships implied by the set of specified cache constraints should be made explicit to help the query optimizer.
[1]
Hamid Pirahesh,et al.
Cache Tables: Paving the Way for an Adaptive Database Cache
,
2003,
VLDB.
[2]
Jonathan Goldstein,et al.
MTCache: transparent mid-tier database caching in SQL server
,
2004,
Proceedings. 20th International Conference on Data Engineering.
[3]
Theo Härder,et al.
A Middleware-Based Approach to Database Caching
,
2006,
ADBIS.
[4]
László Böszörményi,et al.
A survey of Web cache replacement strategies
,
2003,
CSUR.
[5]
Theo Härder,et al.
Value complete, column complete, predicate complete
,
2006,
The VLDB Journal.