Didaktische Darstellung der Verarbeitung von Anfragen in den

Werbung
Abschlussarbeiten
Sommersemester 2015
Lehrstuhl für Informationsmanagement
Christoph Ehlers, Alexander Riemer, Matthias Schmid
Didaktische Darstellung der Verarbeitung von Anfragen
in den Schichten eines Datenbanksystems
Masterarbeit
Hintergrund
Datenbanksysteme sind üblicherweise in Schichten organisiert (siehe Abbildung 1). In der Sprach- und Schnittstellenschicht werden eingehende SQL-Anfragen mithilfe eines Parsers in eine interne Repräsentation umgewandelt und mit Metadaten versehen. In der Anfrageanalyse- und Optimierungsschicht wird relationale Algebra
eingesetzt, um die Anfrage zu beschreiben und zu optimieren. Daraus wird in der Anfrageevaluationsschicht
ein Anfrageausführungsplan berechnet und auch ausgeführt. Dabei wählt das Datenbanksystem beispielsweise
geeignete Join-Algorithmen aus. Der Transaktionsmanager organisiert die Verzahnung der Ausführung paralleler
Anfragen durch Einsatz eines Schedulers. In der Zugriffsschicht werden geeignete Recovery-Algorithmen
eingesetzt, um die Korrektheit der gespeicherten Daten des Datenbanksystems sicherzustellen. Die Recovery
sorgt dafür, dass zum Beispiel nach einem Stromausfall wieder ein korrekter Zustand der gespeicherten Daten
des Datenbanksystems erreicht wird. Die Speicherschicht ist für die physikalische Speicherung der Daten
verantwortlich. Diese erfolgt üblicherweise in sogenannten Seiten. In dieser Schicht befindet sich meist auch ein
Seitencache.
Aufgabenstellung
Die Arbeit soll folgende Aspekte umfassen:
• Entwicklung und Implementierung einer JAVA-Anwendung, die die Verarbeitung von Anfragen in den
verschiedenen Schichten eines Datenbanksystem didaktisch aufbereitet und visualisiert
• Keine Implementierung von Varianten, d.h., Implementierung von einem ausgewählten Algorithmus pro
Schicht (also zum Beispiel Verwendung des Schedulers S2PL und des Recovery-Algorithmus RedoWinners)
• Fokus auf didaktische, verständliche Darstellung
• Sicherstellung der Erweiterbarkeit gemäß Software-Engineering-Grundprinzipien
Diese Aufzählung versteht sich als grobe Orientierung. Eine genaue Definition der Aufgabenstellung wird bei
Interesse gemeinsam vereinbart. Gerne können dabei eigene Vorschläge eingebracht werden.
...
DB Clients
Requests
Ausführungsthreads
DB Server
(Data Server)
Sprach- und
Schnittstellen-Schicht
SQL, ODBC, ...
Anfrageanalyse und
-optimierungsschicht
Relationale Algebra,
Optimierungsstrategien, ...
Anfrageevaluationsschicht
QEP, Joinalgorithmen,
Sortieralgorithmen ...
Zugriffsschicht
Datensätze, Indexe, ...
Speicherschicht
Seiten, DB-Cache, ...
Datenzugriffe
Datenbank
Abbildung 1: Schichten eines Datenbanksystems
Voraussetzungen
Für die Bearbeitung des Themas gelten folgende Rahmenbedingungen:
• Gute Kenntnisse in der Vorlesung »Datenbanken und Informationssysteme« obligatorisch
• Gute Kenntnisse in der Vorlesung »Transaktionssysteme« sinnvoll
Kontakt
Interessenten bitten wir sich jederzeit unverbindlich per E-Mail ([email protected]) oder
persönlich (Raum 162/163 ITZ) beim Lehrstuhl zu melden.
Herunterladen