This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Caching with “Good Enough” Currency, Consistency, and Completeness Hongfei Guo University of Wisconsin [email protected] Per-Åke Larson Microsoft [email protected] Raghu Ramakrishnan University of Wisconsin [email protected] ABSTRACT SQL extensions that allow queries to explicitly specify data quality requirements in terms of currency and consistency were proposed in an earlier paper. This paper develops a data quality-aware, finer grained cache model and studies cache design in terms of four fundamental properties: pres- ence, consistency, completeness and currency . The model provides an abstract view of the cache to the query process- ing layer, and opens the door for adaptive cache manage- ment. We describe an implementation approach that builds on the MTCache framework for partially materialized views. The optimizer checks most consistency constraints and gen- erates a dynamic plan that includes currency checks and inexpensive checks for dynamic consistency constraints that cannot be validated during optimization. Our solution not only supports transparent caching but also provides fine grained data currency and consistency guarantees. 1. INTRODUCTION Replicated data, in various forms, is widely used to improve scalability, availability and performance. Applications that use out-of-date replicas are clearly willing to accept results that are not current, but typically have some limits on how stale the data can be. SQL extensions that allow queries to explicitly specify such data quality requirements in the form of consistency and currency (C&C) constraints were pro- posed in [GLRG04]. That work also described how support for C&C constraints is implemented using MTCache [LGGZ04], a prototype mid-tier database cache built on Microsoft SQL Server. We model cached data as materialized views over a pri- mary copy. The work reported in [GLRG04] considered only the restricted case where all rows of a cached view are consistent, i.e., from the same database snapshot. This re- quirement severely restricts the cache maintenance policies that can be used. A pull policy , where the cache explicitly refreshes data by issuing queries to the source database, of- fers the option of using query results as the units for main- taining consistency and other cache properties. In particular, issuing the same parameterized query with different parame- ter values returns different partitions of a cached view, offer- ing a much more flexible unit of cache maintenance (view partitions) than using entire views. The extension to finer granularity cache management fundamentally changes every aspect of the problem, impos- ing non-trivial challenges: 1) how the cache tracks data qual- ity; 2) how users specify cache properties; 3) how to main- tain the cache efficiently; and 4) how to do query process- ing. In this paper, we propose a comprehensive solution de- scribed in Section 1.2....
View Full Document
- Three '10
- Consistency, Metalogic, Materialized view