Concurrency and Replica Control for Constraint-Based Database Caching [chapter]

Joachim Klein
2010 Lecture Notes in Computer Science  
Efficient and dynamic reallocation of data is a major challenge of distributed data management, because current solutions require constant monitoring and manual adjustment. In contrast, future solutions should provide autonomic mechanisms to achieve self-tuning and exhibit high degrees of flexibility and availability. Constraint-based database caching (CbDBC) is one of the most ambitious approaches to reach these goals, because it is able to dynamically respond to workload changes and keep
more » ... ts of data near by the application. In turn, caching of data always generates replicas whose consistency needs to be controlled-for reasons of data independence, transparent for both application and underlying DBMS. Hence, such a task can best be approached by a middleware-based solution. This paper discusses challenges arising when distributed replicas are synchronized within CbDBC. We compare proposals using eager and lazy update propagation and review their feasibility within middleware-based realizations. Because constraints have to be maintained by the cache, they restrict the implementation of concurrency control mechanisms. Therefore, we explore, as a novel contribution, the far-reaching influence of these constraints. Motivation Similar to concepts used for Web Caching, database caching keeps subsets of records close to applications, which allows local and, hence, faster execution of declarative queries. In contrast to Web caching only supporting ID-based queries, database caching services set-oriented requests and must, therefore, verify that the predicates used by SQL queries can be evaluated, i.e., that their predicate extensions [12] are contained in the cache. To this end, constraint-based database caching (CbDBC) uses simple constraints (cp. Section 2), which need to be fulfilled at any time and allow to decide whether or not a predicate extension is completely kept. Many database vendors have extended their systems with similar but less flexible ideas [1, 2, 21] . The most important competitor approach uses materialized views to determine the predicate completeness of records cached [16] . A big challenge of these approaches is replica control, because caching of data always implies the existence of distributed replicas. In addition, database
doi:10.1007/978-3-642-15576-5_24 fatcat:ei4froitrba3hjudggv7geob7e