Database Research Group

WSI – Database Systems Research Group

Datenbanksysteme II



Aufbauend auf die Vorlesung Datenbanksysteme I, schaltet diese Vorlesung “auf Röntgenblick” und durchleuchtet die Internas relationaler Datenbanksysteme (DBMS). 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 Systeme wie IBM's DB2 V9 oder PostgreSQL, um die Internas von DBMS auch praktisch erleben/verstehen zu können.

Übungsblätter

Im Laufe des Semesters werden die Übungsblätter auf der Kursseite der ILIAS-Lernplattform zum Download verfügbar gemacht. Bitte melden Sie sich rechtzeitig für den Kurs an, um möglichst kein Übungsblatt zu verpassen.

Organisatorisches:

  • Die Übungen werden wöchentlich (Do 14-16 Uhr) abgehalten.
  • Jede Woche werden am Mittwoch Morgen neue Übungsblätter auf der ILIAS-Plattform veröffentlicht.
  • Für die erfolgreiche Teilnahme an der Übung sind 2/3 der Gesamtpunkte aller Übungsblätter nötig.
  • Die Übungsblätter dürfen und sollten in Zweier-Gruppen bearbeitet werden.
  • Für die Bearbeitungszeit eines Übungsblattes ist eine Woche vorgesehen. Die Abgabe der Lösung erfolgt jeweils bis spätestens Dienstag Nacht 23:59 Uhr über den dafür vorgesehenen Upload-Bereich auf der ILIAS Kurs Seite.
  • Abgabe und Bewertung erfolgen ausschließlich elektronisch. Die jeweils erreichte Punktezahl und ein kurzes Feedback des Tutors zur Korrektur kann ebenfalls auf der ILIAS-Plattform eingesehen werden.
  • Weitere Hinweise zur Teamabgabe und Form auf der ILIAS Seite.

Literatur

  • Ramakrishnan, Gehrke: Database Management Systems

    (3rd International Edition)

    McGraw-Hill, 2003

    ISBN 0-07-246563-8

    Dieses Buch deckt die meisten Inhalte dieser Vorlesung sehr gut ab (teilweise orientiert sich die Vorlesung direkt an ausgewählten Kapiteln).

  • Kemper, Eickler: Datenbanksysteme

    (6. Auflage)

    Oldenbourg Verlag, 2006

    ISBN 3-486-57690-9

    Deutsches Standardlehrbuch, das auch Inhalte der Vorlesung Datenbanksysteme I bespricht — die Inhalte dieser Vorlesung gehen teilweise deutlich über das Material des Buches hinaus. Eine hervorragende Quelle für weiterführende Referenzen.

Software

In Vorlesung und Übung werden die Datenbanksysteme IBM DB2 und PostgreSQL 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 auf der PostgreSQL-Website bezogen werden.

  • Eine kostenfreie Version von IBM DB2 ist als IBM DB2 Express-C verfügbar.

Semesterwochenstunden / Leistungspunkte / Hörerkreis

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

Voraussetzungen

Modul Datenbanksysteme (Datenbanksysteme I) oder vergleichbare Vorkenntnisse


Slides
NrChapterDownload
1Introductionpdf
2Storagepdf
3Indexingpdf
4Tree-Structured Indexingpdf
5Multi-Dimensional Indexingpdf
6Hash-Based Indexingpdf
7External Sortingpdf
8Evaluation of Relational Operatorspdf
9Cardinality Estimationpdf
10Query Optimizationpdf
11Transaction Management

[ updated July 8, 2014 ]

pdf
Additional material (code, data)
NrFileDownload
1External Sorting (#I/Os)

Interaktive Berechung der Anzahl der I/O-Operationen für External Merge Sort.

(ZIP-Archiv entpacken, File external-sorting.html im Web-Browser öffnen.)

zip