Detailseite
Projekt Druckansicht

Optimierung von expliziter und impliziter Pufferverwaltung in Datenbanksystemen

Fachliche Zuordnung Datenmanagement, datenintensive Systeme, Informatik-Methoden in der Wirtschaftsinformatik
Förderung Förderung seit 2024
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 534271964
 
Die Pufferverwaltung, eine zentrale Komponente von persistierenden Datenbanksystemen (DBMSs), ermöglicht es, Datenbanken zu verwalten, die die Größe des verfügbaren Hauptspeichers übersteigen. Während viele DBMSs eine explizite Pufferverwaltung implementieren, bei der das Ein- und Auslagern von Seiten vollständig vom DBMS gesteuert und durchgeführt wird, delegiert die implizite Pufferverwaltung diese Verantwortung auf den Seitenauslagerungsmechanismus des Betriebssystems, wodurch das DBMS stark vereinfacht wird. Obwohl beide Ansätze ihre Existenzberechtigung haben, leiden beide Varianten in bestimmten Situationen an Geschwindigkeits- und Korrektheitsproblemen. Interessanterweise hängt die Anwendbarkeit möglicher Lösungen für diese Probleme maßgeblich davon ab, ob es möglich ist, den Betriebssystem-Kernel zu modifizieren, um die Pufferverwaltung bei ihrer Aufgabe zu unterstützen. Glücklicherweise sehen wir in beiden Fällen Verbesserungsspielraum. Daher zielt das beantragte Projekt darauf ab, die Pufferverwaltung sowohl in Umgebungen mit als auch ohne Möglichkeit zur Anpassung des Betriebssystems zu verbessern. Zunächst beginnen wir im ersten Schritt mit einer unabhängigen experimentellen Analyse von expliziter und impliziter Pufferverwaltung auf aktuellen Systemen, um den genauen derzeitigen Stand beider Varianten und den Einfluss einzelner Komponenten zu verifizieren. Nach unserem Erkenntnisstand gibt es derzeit keinen solchen unabhängigen Vergleich. Als zweiten Schritt werden wir die Pufferverwaltung in Umgebungen verbessern, in denen eine Modifikation des Betriebssystems nicht möglich ist. Hier konzentrieren wir uns auf explizite Pufferverwaltung und schlagen vor, die aktuell führende Methode um einen manuell verwalteten Page-Pooling-Mechanismus zu erweitern, der (existierende) Funktionalität des virtuellen Speicher-Subsystems des Kernels ausnutzt. Dadurch können übermäßige Laufzeiteinbußen vermieden werden, die aktuell bei häufigen Seitenauslangerungen und Einlagerungen entstehen. Als dritten Schritt werden wir den Schwerpunkt auf die Verbesserung der Pufferverwaltung für Umgebungen verlagern, in denen eine Erweiterung des Betriebssystems möglich ist. In dieser Umgebung konzentrieren wir uns nicht mehr auf die explizite Variante, die immer noch einen erheblichen Wartungsaufwand auf der DBMS-Seite erfordert, sondern zielen darauf ab, implizite Pufferverwaltung zu verbessern. Zu diesem Zweck werden wir den Kernel um Funktionalität erweitern, die transaktionale Sicherheit in Kombination mit in-place Seitenauslagerung ermöglicht und damit einen wesentlichen Nachteil von impliziter Pufferverwaltung beseitigen.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung