DB 2

Lecture
Readers
Torsten GrustBenjamin DietrichDenis Hirn

Vorlesung: Mo, 10:15-11:45, Sand 6/7, großer Hörsaal

Vorlesung: Di, 10:15-11:45, Sand 6/7, großer Hörsaal

Übung: Do, 14:15-15:45, Sand 6/7, großer Hörsaal

Klausur: Mo, 27. Juli 2020, 10:00-12:00, Kupferbau (Hörsaal 25)

⚠️ Die COVID-19 Pandemie 🦠 zwingt uns dazu, die Organisation dieser Vorlesung im SS 2020 neu aufzustellen.

  • Vorlesungsmaterial wird in Form von Videos aufbereitet, die dann über YouTube zum Streaming bereitgestellt werden. Diese Videos werden nicht in 90 Minuten-Einheiten produziert, sondern haben ihren Fokus jeweils kompakt auf einem einzigen Thema (ca. 15 Minuten pro Video).

  • YouTube-Playlist

  • Fragen zum Vorlesungsablauf, zu den Inhalten und auch zu den Übungen: immer ‘rein damit ins Forum. Wir haben Trigger geschaltet, die uns bei neuen Postings eurerseits benachrichtigen und uns die Möglichkeit geben, fix zu antworten. Ihr kennt uns und wisst, dass wir das Forum aktiv betreuen.

  • Material zu den Vorlesungen (Slides, Code-Fragmente) werden wir über Github verteilen. Wer sich einmal den Zugang zum Repository zur Vorlesung verschafft hat, beschafft sich das neueste Material einfach mit einem git pull.

  • Übungsmaterial (die wöchentlichen Übungsblätter und zugehörige Files) wird ebenfalls wieder über Github verteilt. Eure Lösungen werden ebenso via git an uns übermittelt. Übungsabgaben werden wieder in (virtuellen) Zweiergruppen stattfinden. Details dazu, wie ihr euch zu diesem Übungsbetrieb anmelden könnt, finden sich im Forum zu dieser Vorlesung:

  • Forum DB2

    ⚠️ Die Anmeldung in diesen Foren ist für die Teilnahme an den Vorlesungen also essentiell und nicht optional. You know the drill.

Bleibt gesund und Ohren steif halten!


Aufbauend auf die Vorlesung Datenbanksysteme I, 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 Forum

Im Rahmen von Vorlesung und Übung werden wir zur Organisation, d.h. für offizielle Hinweise, Fragen und Diskussionen, unser Forum verwenden. Die Anmeldung und der regelmäßige Besuch des Forums 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

Software

In Vorlesung und Übung werden die Datenbanksysteme PostgreSQL und MonetDB betrachtet. Beide Systeme sind kostenfrei beziehbar.

  • PostgreSQL ist für die meisten Linux-Distributionen bereits als Paket verfügbar. Der Quellcode, weitere Binärdistributionen und Installer für Windows und macOS können von der PostgreSQL-Website bezogen werden.

  • Binaries für MonetDB stehen für alle üblichen Platformen zum Download bereit.

Semesterwochenstunden / Leistungspunkte / Hörerkreis

  • 4 SWS Vorlesung + 2 SWS Übung zur Vorlesung
  • 9 LP
  • Für Studierende in Informatik **Bachelor- und Master-**Studiengängen
  • Link zu Alma: DB2

Voraussetzungen

Veranstaltung Datenbanksysteme I oder vergleichbare Vorkenntnisse in SQL.