Database Research Group

WSI – Database Systems Research Group

DB 2



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 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 Campus

Voraussetzungen

Veranstaltung Datenbanksysteme I oder vergleichbare Vorkenntnisse in SQL.


Slides
NrChapterDownload
1

Welcome

pdf
2

Unary Table Storage

pdf
3

Wide Table Storage

pdf
4

Row Internals

pdf
5

Row Updates

pdf
6

Buffering and Caching

pdf
7

Expression Evaluation

pdf
8

Predicate Evaluation

pdf
9

Ordered Indexes (B⁺Trees)

pdf
10

Matching Queries and Indexes

pdf
11

Sorting and Grouping

Interactive computation of I/O costs and estimated running time of External Merge Sort

pdf
12

Joins

pdf
13

Plan Evaluation

pdf
14

Query Optimization

pdf
Additional material (code, data)