Nächstes Semester

Sommersemester 2021

 

Datenbank-Engineering

Univ.-Prof. Dr. Felix Martin Schuhknecht

Kurzname: 08.079.696
Kursnummer: 08.079.696

Digitale Lehre


  1. Die Veranstaltung wird digital über MS Teams stattfinden.
  2. Jede Woche wird es ein Übungsblatt zum behandelten Vorlesungsstoff geben, das in Gruppen von 2-3 Personen bearbeitet wird.

Empfohlene Literatur


  1. Database Management Systems. Raghu Ramakrishnan, Johannes Gerke. 
  2. Patterns in Data Management: A Flipped Textbook. Jens Dittrich

Voraussetzungen / Organisatorisches


Datenbanken 1: Sie sollten vertraut damit sein, wie man ein (relationales) DBMS verwendet und wie das grundsätzliche Arbeitsprinzip eines DBMS aussieht (SQL, relationale Algebra, ...)

Inhalt

Datenbank-Management-Systeme (DBMS) haben es wirklich schwer: Sie sind das Rückgrat des modernen datenintensiven Computings - und führen oftmals doch ein Schattendasein gegenüber den Top-Level-Anwendungen, die sich so stark auf die DBMSs verlassen!

In diesem Kurs werden wir daher DBMSs in den Fokus unserer Infrastruktur rücken. Wir diskutieren Komponenten und Methoden, die DBMSs auszeichnen: Schnelligkeit und Platzeffizienz. Wir werden einen Rundgang durch die verschiedenen Schichten eines DBMS machen und untersuchen die wichtigsten aktuellen Algorithmen und Datenstrukturen in diesem Kontext. 

Unter anderem werden wir die folgenden Themen besprechen:

  1. Architektur eines DBMS: Schichten und Komponenten
  2. Physikalische Datenlayouts und Datenorganisation
  3. Datenkompression
  4. Speicher-Granularität, Ausnutzung der Speicherhierarchie: Stable Storage, Hauptspeicher, Caches
  5. Moderne Index-Strukturen (Baum-basiert, Hash-basiert, Bitmaps, adaptiv, ...)
  6. Abfrageverarbeitungs-Pipeline, Physikalische Operatoren (Joins, Gruppierung, ...)
  7. Abfrageoptimierung (regelbasiert, kostenbasiert, Join-Reihenfolge, ...)
  8. Wiederherstellung bei Abstürzen (ARIES)
  9. Concurrency Control (MVCC)
  10. Transaktionale Verarbeitung vs. Analytische Verarbeitung vs. Hybrid 

Effiziente DBMS sind stark mit dem Gesamtsystem verwoben. Daher werden wir stets das Zusammenspiel von

  1. DBMS <-> Betriebssystem
  2. DBMS <-> Hardware

betrachten.

Nach dieser Vorlesung kennen Sie die wichtigsten Komponenten, die beim Aufbau eines effizienten DBMS zusammenkommen müssen - und noch mehr: Die Techniken, die Sie in dieser Vorlesung lernen, sind im Allgemeinen hilfreiche Werkzeuge zur Bewältigung von datenintensiven Problemen.

Termine:

Datum (Wochentag)UhrzeitOrt

Semester: SoSe 2021