CS848 Paper Review Form - Fall 2006 Paper Title: Cache Tables: Paving the Way for an Adaptive Database Cache Author(s): Mehmet Altinel, Christof Bornhovd, Sailesh Krishnamurthy, C. Mohan and Hamid Pirahesh 1) Is the paper technically correct? [X] Yes [ ] Mostly (minor flaws, but mostly solid) [ ] No 2) Originality [ ] Very good (very novel, trailblazing work) [X] Good [ ] Marginal (very incremental) [ ] Poor (little or nothing that is new) 3) Technical Depth [ ] Very good (comparable to best conference papers) [X] Good (comparable to typical conference papers) [ ] Marginal depth [ ] Little or no depth 4) Impact/Significance [X] Very significant [ ] Significant [ ] Marginal significance. [ ] Little or no significance. 5) Presentation [X] Very well written [ ] Generally well written [ ] Readable [ ] Needs considerable work [ ] Unacceptably bad 6) Overall Rating [ ] Strong accept (very high quality) [X] Accept (high quality - would argue for acceptance) [ ] Weak Accept (marginal, willing to accept but wouldn't argue for it) [ ] Weak Reject (marginal, probably reject) [ ] Reject (would argue for rejection) 7) Summary of the paper's main contribution and rationale for your recommendation. (1-2 paragraphs) This paper looks at a system for implementing a database cache system for Transactional Web Applications. Approaches the problem of dynamic content by introducing the concept of a cache table that represents the back end table on a local cache server. They model two seperate cases of cache tables: declarative and dynamic. To model the problems of dynamic caches, they introduce cache keys for columns which have the property that a column contains every row with a given value of a cache key if it has any rows with that value. A referential cache constraint is introduce to model the constraints between multiple cache tables. These cache constraints form a graph that can be used to determine when adding constraints will lead to recursive inclusion of rows. They develop semantics for updating the caches based on the type of cache. They introduce a switch point in the query that executes a different plan based on the availability of data locally. Data is propagated either by a sub system called DPropR or through a subquery for dynamic tables. They ran three seperate experiments to test their system. They tested the overhead of the system on purely local data. They tested the results of the system under the condition of pure cache misses. Last, they looked at the case where cache misses also propogated changes back to the local cache. 8) List 1-3 strengths of the paper. (1-2 sentences each, identified as S1, S2, S3.) S1 - Provides a clear model for maintaining cache consistency. The idea of domain completeness makes the caching of dynamic data much more practical. S2 - The system is presented clearly with attention paid to the specific details of implementing dynamic details. Specifically, the detail paid to developing a set of rules for safe cache groups. S3 - The idea of using an existence query for the probe combined with the construction maintaing domain completeness allows for an efficient technique for testing the cache for complicated queries. 9) List 1-3 weaknesses of the paper (1-2 sentences each, identified as W1, W2, W3.) W1 - The experimental validation of the results was relatively preliminary. W2 - The system does not deal with the overhead of updating the many replicated caches and the cost of maintaining the records of the specific rows stored in each cache. W3 - The issue of staleness seems to be ignored in the model. 10) Detailed comments for authors.