Hasso-Plattner-Institut
Prof. Dr. Felix Naumann
 

Datenbanksysteme II - Implementierung von Datenbanksystemen

Zur Anmeldung für den Kurs bitte eine E-Mail an office-naumann(at)hpi.de senden! Sie erhalten dann rechtzeitig vor dem Kurs einen Zoom-Link.

Beschreibung

Prof. Dr. Felix Naumann & Leon Bornemann (Übungen)

Datenbanken und Data Engineering bilden die Basis fast aller großen Anwendungen. In dieser Vorlesung lernen wir Datenbanksysteme vornehmlich aus interner Sicht kennen, d.h. wir diskutieren wie Datenbanksysteme intern aufgebaut sind. Zu den grundlegenden Themen zählen die physische Speicherung von Daten auf Disk, Indexstrukturen für den effizienten Zugriff auf die Daten (z.B. B-Bäume), verschiedene Algorithmen für die Operatoren der relationalen Algebra (insbesondere diverse Joinalgorithmen), Anfrageoptimierung (insbesondere die Optimierung der Joinreihenfolge mittels dynamischer Programmierung), und die Fehlererholung eines DBMS nach einem Systemfehler (z.B. Stromausfall). Die Vorlesung schließt mit einem Vorlesungsblock zum Thema Web-scale Data Management.

Die Vorlesung wird von einer Übung begleitet.

Veranstaltungsplan

Die Vorlesung findet im flipped-classroom Modus statt. Studierende sehen pro Woche ca. zwei Vorlesungsvideos an (teletask). Immer mittwochs um 13:30 Uhr treffen wir uns in F-E.06 und zugleich per Zoom, um die Themen nochmals zu besprechen, Ihre Fragen zu beantworten, und aktuelle Entwicklungen zu diskutieren.
Update 23.11.2020: Aufgrund mangelnder Nachfrage finden die Q&A-Sessions nur noch online (Zoom) statt.

Die Folien zur Vorlesung befinden sich im internen Bereich.

Ca. alle zwei Wochen findet eine Übung statt.

Der Veranstaltungsplan befindet sich derzeit in Arbeit:
 

DatumThema
4.11.2020 - nur per ZoomEinführung und Organisatorisches, Q&A für MotivationAusblick
11.11.2020keine Besprechung
18.11.2020Q&A für Physische Speicherstrukturen, Effiziente Diskoperationen und Zugriffsbeschleunigung, Diskausfälle, RAID, Physische Repräsentation von Daten I und II 
25.11.2020Q&A für Indizes auf sequentiellen Dateien, Sekundärindizes auf nicht-sequentiellen Dateien, B-Bäume und Hashtabellen, Erweiterbare und lineare Hashtabellen  
02.12.2020Q&A für Multidimensionale Indexstrukturen: Anwendung und Grid Files, Partitioniertes Hashing und Baumstrukturen
09.12.2020keine Besprechung
16.12.2020Q&A für Anfrageausführung: Einführung, Iteratoren und Operatoren, Nested loop join und Sort-basierte Two-Pass Algorithmen, Hash-basierte Two-Pass Algorithmen, Index-basierte Algorithmen, Join mit Index  
23.12.2020Weihnachtsschließung
30.12.2020Weihnachtsschließung
06.01.2021Q&A für Anfrageoptimierung: Optimierung, Algebraische Transformationsregeln, weitere Regeln, Kostenbasierte Optimierung, Kostenschätzung, Dynamische Programmierung
13.01.2021keine Besprechung
20.01.2021Q&A für Recovery: Undo-logging, Redo-Loggung und Undo-Redo-Logging
27.01.2021Q&A für Web-scale Data Management for analytic databases I and II
03.02.2021Q&A für Web-scale Data Management for Transaction Management I and II
22.02.2021 15 UhrKlausurvorbereitung
Exam1.03.2021, 10:00-12:00 Uhr im HS 1

Literatur

Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: Database Systems - The Complete Book, Pearson Education International, 2002.

Das Buch steht in ausreichender Zahl in der Bibliothek und mehrfach bei uns am Lehrstuhl. Außerdem bei Amazon (second edition).

Es gibt zudem eine Vielzahl anderer (deutscher und englischer) Lehrbücher zu dem Thema, die allesamt ebenfalls als Studienbegleitung geeignet sind. Empfehlenswert sind zum Beispiel auch

Klausur

Die Note wird in einer Klausur ermittelt und die Voraussetzung zur Zulassung zur Klausur ist die erfolgreiche Bearbeitung der Übungsaufgaben.