Inhaltsverzeichnis
Datenbank-Implementierungstechniken
Info | |
---|---|
Modultafel | https://www.tu-ilmenau.de/modultafeln/Informatik/Bachelor/2013/fach/5882/ |
Moodle-Kurs | https://moodle2.tu-ilmenau.de/course/view.php?id=306 |
Das Fach beschäftigt sich – wie der Name bereits sagt – mit diversen Mechanismen, die in Datenbanksystemen implementiert sind. Dabei werden die einzelnen Funktionen von der Organisation der Dateien auf Festplatten über Pufferverwaltung bis hin zur Verwaltung von Indexstrukturen und der Ausführung und Optimierung von Datenbankanfragen bearbeitet.
Neben der Vorlesung und der Übung wird an einem Projekt „ArrowDB“ (ehem. „ToyDB“) gearbeitet – ein Framework, in dem verschiedene Aspekte aus der Vorlesung nachimplementiert werden. Die Aufgaben werden immer in einer Übung vorgestellt und es gibt dann mehrere Tage (z.T. mehrere Wochen) Zeit, die Aufgaben zu implementieren. Dies kann man – falls man möchte – auch in Teams machen (es gibt eine Gruppeneinschreibung zu Beginn der Veranstaltung), wobei nur ein Teammitglied die Aufgaben abgeben muss. Es ist aber auch problemlos möglich, die Aufgaben innerhalb der verfügbaren Zeit alleine zu lösen.
Vorlesung
Die Vorlesung ist eine klassische Vorlesung. In 2020/2021 wurden Screencasts zur Vorlesung bereitgestellt – an sich wie eine Vorlesung, nur ohne Interaktion mit dem Publikum. Folien werden dazu jeweils im Moodle-Kurs bereitgestellt.
Übung
Es gibt etwas weniger Übungsblätter als es Übungsstunden gibt, da einige Zeit auch für die Bearbeitung der Implementierungsaufgaben bzw. für Fragen diesbezüglich bereitsteht. Nichtsdestotrotz werden ca. 8 Übungsblätter bearbeitet. Diese unterscheiden sich nicht besonders von Übungsblättern anderer Fächer. Bearbeitet wird hierbei üblicherweise ein Mix aus Wissensfragen und Anwendungsaufgaben.
Implementierungsaufgaben
Implementierungsaufgaben gibt es nur wenige (in SS21 waren es gerade mal vier Stück), dafür wird aber großzügig Zeit gegeben, die Aufgaben zu bearbeiten (und man kann auf Anfrage auch mehr Zeit für die Bearbeitung erhalten). In den Implementierungsaufgaben werden nur teilweise tatsächlich Mechanismen der Datenbank implementiert (z.B. Tabellen-Import, Anfrageverarbeitung). Manche Aufgaben sollen nur mit der API vertraut machen (z.B. die Implementierung der nötigen Schnittstellen eines Datentyps, ASCII-Export einer Tabelle) oder bestehen gerade mal aus Glue-Code zwischen bereits implementierten Features (z.B. Iteration über alle Datensätze, um einen Index zu erstellen).
Das Projekt ist zwar eine schöne Begleitung zur Veranstaltung, aber wer sich erhofft, eine praxisreiche Veranstaltung zu haben und viele Teile einer Datenbank selbst zu implementieren, wird hierdurch nicht zufriedengestellt. Nichtsdestotrotz können die Aufgaben das Wissen der Vorlesung noch einmal vertiefen und festigen.
Zusatzmaterial
- ARC
- https://www.youtube.com/watch?v=_XDHPhdQHMQ Erklärungsvideo ARC für Festplatten
-
- Linear Hashing (Video mit Beschreibung und Beispiel)