Many application systems make use of various forms of asynchronously updated replicas to improve scalability, availability and performance. If an application uses replicas that are not in sync with source data, it is clearly willing to accept results that are not completely current, but typically with some limits on how stale the data can be. Today, such requirements are not explicitly declared anywhere; consequently, the system cannot detect when they are not met and take appropriate action. Instead, data currency requirements are implicitly expressed in the application logic through the choice of data sources. This resembles the situation in the early days of database systems when programmers had to choose what indexes to use and how to join records.
This dissertation is about extending DBMS support for relaxed consistency. We envision a scenario where applications are allowed to explicitly express relaxed currency and consistency (C&C) requirements in SQL; an administrator can explicitly express the desired local data C&C level in the cache schema; and query processing provides transactional guarantees for the C&C requirements of a query. Our research provides a comprehensive solution to this problem.
The first part extends SQL with a new currency clause, allowing queries to explicitly express customized C&C constraints. We suggest a tentative syntax and develop a formal model that rigorously defines the semantics, thereby providing correctness standards for the use of replicated or cached data.
The second part develops a data quality-aware, fine-grained cache model based on four fundamental cache properties. Such a model provides an abstract view of the cache to the query processing layer, and opens the door for adaptive cache management. The third part presents query processing methods for enforcing C&C constraints, which is built on the MTCache framework. The optimizer checks most consistency constraints and generates a dynamic plan that includes currency and inexpensive consistency checks. Our solution not only supports transparent caching but also provides transactional data quality guarantees.
The last part establishes a realistic model for a database caching system and reports a holistic performance evaluation, offering insights into performance tradeoffs.
Index Terms
- "good enough" database caching
Recommendations
Selective Victim Caching: A Method to Improve the Performance of Direct-Mapped Caches
Although direct-mapped caches suffer from higher miss ratios as compared to set-associative caches, they are attractive for today's high-speed pipelined processors that require very low access times. Victim caching was proposed by Jouppi [1] as an ...
Caching with "good enough" currency, consistency, and completeness
VLDB '05: Proceedings of the 31st international conference on Very large data basesSQL 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 ...
Cooperative Caching for GPUs
The rise of general-purpose computing on GPUs has influenced architectural innovation on them. The introduction of an on-chip cache hierarchy is one such innovation. High L1 miss rates on GPUs, however, indicate inefficient cache usage due to myriad ...