DB 2
- Readers
- Torsten Grust • Benjamin Dietrich • Christian 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.
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.