DB 2

Seminar
Readers
Torsten GrustBenjamin DietrichChristian Duta

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, 23. 7. 2018, 10:00-12:00, Hörsaal N10 (Bio Hörsaalgebäude / Morgenstelle)

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.

Klausur und Benotung

Die 90-minütige Klausur zu dieser Vorlesung wird am Montag, den 23.07.2018, von 10:00–12:00 Uhr im Hörsaal N10 (Bio Hörsaalgebäude AdM 3, Morgenstelle) stattfinden.

Die Modulnote ergibt sich ausschließlich aus der Klausurnote. Voraussetzung zur Klausurzulassung ist das Erlangen von mindestens 2/3 der Punkte in der Übung! Für darüber hinaus erzielte Punkte in den Übungen gewähren wir einen Punktebonus in der Klausur, sofern diese bestanden wurde.

Eine Wiederholungsprüfung — in der Regel mündlich — wird ausschließlich für Studierenden angeboten, die an der Klausur teilgenommen und diese nicht bestanden haben oder dieser entschuldigt fern geblieben sind.

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 Mac OS X können von der [PostgreSQL-Website](http://www.postgresql.org/download/) bezogen werden.


Binaries für **MonetDB** stehen für alle üblichen Platformen zum [Download](https://www.monetdb.org/downloads/) 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 Campus

Voraussetzungen

Veranstaltung Datenbanksysteme I oder vergleichbare Vorkenntnisse in SQL.