Lehrgebiet InformationssystemeFB Informatik |
||
|
Datenbank-Caching – Eine systematische Analyse möglicher VerfahrenTheo Härder, Andreas BühmannUniversity of KaiserslauternP.O. Box 3049, 67653 Kaiserslautern, Germany e-mail: {haerder, buehmann}@informatik.uni-kl.de Full paper (PDF version, SpringerLink)Abstract:Caching ist ein bewährtes Mittel, um die Skalier- und Verfügbarkeit von Systemen zu steigern sowie die Latenzzeit für Benutzeranforderungen zu verkürzen. Im Gegensatz zum Web-Caching, bei dem einzelne Web-Objekte irgendwo längs ihres Aufrufpfades in der Proxy-Kette vorgehalten werden, setzt Datenbank-Caching "ausgewachsene" Datenbanksysteme als Caches ein, um dort Satzmengen entfernter Datenbanken möglichst adaptiv verwalten und Anfragen darauf auswerten zu können. Verfahren dazu reichen von separat verwalteten materialisierten Sichten über überlappende, aber replikationsfrei gespeicherte Sichten bis hin zu Cache-Groups, in denen parametrisierte Cache-Constraints den Cache-Inhalt spezifizieren. Wir untersuchen anschaulich die verschiedenen Ansätze und ermitteln daraus eine Klassifikation, die den Lösungsraum zu enthüllen hilft. In den Mittelpunkt stellt sich das Konzept der Prädikatsvollständigkeit: Ein Datenbank-Cache verwaltet vollständige Extensionen von Prädikaten, was ihm ermöglicht, Schlüsse über beantwortbare Anfragen zu ziehen. Abstract:Caching is a proven remedy to enhance scalability and availability of software systems as well as to reduce latency of user requests. In contrast to Web caching where single Web objects are kept ready somewhere along their invocation path in the proxy chain, database caching uses full-fledged database management systems as caches to adaptively maintain sets of records from a remote database and to evaluate queries on them. This proceeding can be achieved by a spectrum of techniques ranging from separated materialized views via overlapping, but "replication-free" stored views up to cache groups where parameterized cache constraints specify the contents of the cache. We explore different approaches in an illustrative way and, from the insights gained, we derive a classification scheme which helps to discover the solution space. The key concept for advanced techniques is predicate completeness: A database cache maintains complete extensions of predicates which enables the system to draw conclusions about locally answerable queries. Informatik – Forschung und Entwicklung 19 (2004), Nr. 1, S. 2–16 |