Adaptives Datenbank-Caching bei deklarativen Anfragen
Final Report Abstract
Die Bedeutung von leistungsfähigen Caching-Verfahren wird bei der Allgegenwart von verteilten und heterogenen Informationen, deren Spektrum an Verarbeitungsarchitekturen (weltweite DBS-Föderationen, P2P Computing, Grid Computing, Polyglot Persistence, Web-Service-Plattformen usw.) und der schnell wachsenden Benutzerzahl, die aktuelle Information bei kürzesten Antwortzeiten verlangen, noch erheblich wachsen. Um die Antwortzeit von Anfragen an Datenbanksysteme zu verringern und deren Skalierbarkeit zu erhöhen, werden beim Datenbank-Caching Teilmengen von Daten in der Nähe von Anwendungen vorgehalten. Im Gegensatz zu anderen Ansätzen wird hierbei eine deklarative Anfragebearbeitung durch das Cache-System angestrebt, welche die Auswertung einzelner Prädikate unterstützt, die häufig in Anfragen vorkommen. Dazu wurden Bedingungen definiert, die eine korrekte Anfrageauswertung garantieren und zudem leicht überprüfbar sind. Der Schlüssel zum effektiven und adaptiven Datenbank-Caching liegt bei den so genannten Constraint-basierten Verfahren; sie versprechen die bekannten Anfrage-basierten Verfahren (Caching von Anfrageergebnissen oder Sichten) an Flexibilität, Leistungsvermögen und Anpassbarkeit weit zu übertreffen. Als neues fundamentales Problem ist dabei die deklarative Behandlung von abgeleiteten Daten und ihrer Konsistenzerhaltung im DB-Cache erforderlich. Durch die Deklarativität und Mengenorientierung heutiger Datenbanksprachen (vor allem SQL) ergaben sich viele neue Herausforderungen, so dass sich die Verfahren nicht mit der herkömmlichen Datenbankpufferverwaltung, die nur ID-basierte Anforderungen kennt, vergleichen lassen. Im Mittelpunkt stand die Untersuchung von so genannten Cache Groups hinsichtlich Korrektheit der Anfrageauswertung, Kontrollierbarkeit des Ladens und Entladens, Leistungsverhalten, Anwendungstransparenz und Adaptivität. Neuartige Konzepte erlauben neben speziellen Verbund-Anfragen (project-select-join, PSJ) die Auswertung wichtiger Klassen von Prädikaten, die über Gleichheitsprädikate und -verbunde deutlich hinausgehen. Die Generalisierung der Ideen führte auf eine Vision, wie Caching auch in innovativen Datenbankarchitekturen eingesetzt werden kann. Schließlich zeigte eine Untersuchung, dass Änderungsoperationen nur unter großen Einschränkungen und einer kaum zu rechtfertigenden Komplexitätssteigerung direkt im DB-Cache durchgeführt werden können.
Publications
-
Examining the Performance of a Constraint-Based Database Cache, in: Proc. 11th Int. Database Engineering & Applications Symposium, pp. 290-295, IEEE, Banff, Canada, Sept. 2007
Bühmann, A., Klein, J.
-
Making the Most of Cache Groups, in: Proc. 12th Int. Conf. on Database Systems for Advanced Applications, Bangkok, LNCS 4443, pp. 349-360, Springer, April 2007
Bühmann, A., Härder, T.
-
Value Complete, Column Complete, Predicate Complete – Magic Words Driving the Design of Cache Groups, in: The VLDB Journal 17:4, 805-826, Springer, July 2008
Härder, T., Bühmann, A.
-
Optimizing Maintenance of Constraint-based Database Caches, in: Proc. 13th East-European Conference on Advances in Databases and Information Systems, LNCS 5739, pp. 219-234, Riga, Latvia, Sept. 2009
Klein, J., Braun, S.
-
Selektives Laden und Entladen von Prädikatsextensionen beim Constraintbasierten Datenbank-Caching, in: Proc. BTW 2009, LNI P-144, pp. 347-366, Münster, March 2009
Klein, J., Braun, S., Machado, G.
-
Concurrency and Replica Control for Constraint-based Database Caching, in: Proc. ADBIS 2010, LNCS 6295, Novi Sad, Serbia, pp. 305-319, Sept. 2010
Klein, J.
-
Stets Wertvollständig! - Snapshot Isolation beim Constraint-basierten Datenbank-Caching, in: Proc. 14. GI-Fachtagung Datenbanksysteme für Business, Technologie und Web (BTW 2011), Kaiserslautern, Germany, LNI P - 180, pp. 247-266, March 2011
Klein, J.