DB2

Lecture  INFO-4141
Readers
Torsten GrustDenis HirnTim Fischer
Vorlesung
Mo 10-12 Uhr, Sand 1, A301
Vorlesung
Di 10-12 Uhr, Sand 1, A301
Übung
Do 14-16 Uhr, Sand 1, A301
Klausur
TBD

Aufbauend auf die Vorlesung DB1, schaltet diese Vorlesung “auf Röntgenblick” und durchleuchtet die Internas relationaler Datenbanksysteme (RDBMS). Wir versuchen dabei Antworten auf Fragen zu finden, wie etwa:

  • Wie kann der Datentransport zwischen Sekundär– und Hauptspeicher organisiert werden, ohne dass das DBMS laufend auf langsame Festplattenzugriffe warten muss?
  • Wie strukturiert, sortiert und manipuliert man Daten von 20 GB Größe, wenn der verfügbare Hauptspeicher nur einen Bruchteil davon fassen kann?
  • Wie orientiert man sich in Datenmengen dieser Größe? Wie übersetzt man Anfragen (SQL) in effiziente “Programme”, die Daten dieser Größe durchforsten/filtern/transformieren können?

Dabei werden wir die Architektur eines DBMS als Leitfaden nehmen und uns sukzessive von der physischen Ebene (File-Organisation etc.), über Index-Verwaltung zur Anfrageauswertung durcharbeiten. Dieser Weg ist mit interessanten Algorithmen und Datenstrukturen geradezu gepflastert. Themengebiete: Sekundärspreicherzugriff, Record– und Seiten–Layout, Indexstrukturen (B–Bäume, Hashes), Sortieren auf Sekundärspeichern, Anfrageauswertung, (geschätzte) Anfragekosten, Plangenerierung und -optimierung, Transaktionen (ACID), Logging.

Wann immer sich die Möglichkeit ergibt, richten wir unseren Röntgenstrahl auf konkrete Systeme wie insbesondere PostgreSQL oder auch MonetDB 5, um die Internas von DBMS auch praktisch erleben/verstehen zu können.

Organisation der Übung und Discord

Im Rahmen von Vorlesung und Übung werden wir zur Organisation, d.h. für offizielle Hinweise, Fragen und Diskussionen, unseren Discord Server verwenden. Die Anmeldung und der regelmäßige Besuch ist nicht optional, sondern für die Teilnahme an der Veranstaltung erforderlich.

Literatur

  • Winand, Markus: SQL Performance Explained

    Markus Winand, 2012

    ISBN 978-3950307818

    Kondensiertes Wissen eines Praktikers zum SQL-Tuning mit Hilfe von Indizes.

    Website zum Buch

Semesterwochenstunden / Leistungspunkte / Hörerkreis

  • 4 SWS Vorlesung + 2 SWS Übung zur Vorlesung
  • 9 ECTS
  • Für Studierende in Informatik Bachelor- und Master-Studiengängen

Voraussetzungen

Veranstaltung DB1 oder vergleichbare Vorkenntnisse in SQL.