Letztes Semester

Datenbank-Engineering

Dozent:innen: Univ.-Prof. Dr. Felix Martin Schuhknecht
Kurzname: 08.079.696
Kurs-Nr.: 08.079.696
Kurstyp: Vorlesung/Übung
Format: online

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, ...)

Digitale Lehre


  1. Die Veranstaltung wird digital über MS Teams stattfinden. Sie können dem Team über diesen Link beitreten.
  2. Die erste Vorlesung findet am 12.04.21 um 12:15 Uhr statt.
  3. Vorlesung: Montags 12:15-13:45, Tutorium: TBD 
  4. 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

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) Zeit Ort
12.04.2021 (Montag) 12:00 - 14:00 Online
19.04.2021 (Montag) 12:00 - 14:00 Online
26.04.2021 (Montag) 12:00 - 14:00 Online
03.05.2021 (Montag) 12:00 - 14:00 Online
10.05.2021 (Montag) 12:00 - 14:00 Online
17.05.2021 (Montag) 12:00 - 14:00 Online
31.05.2021 (Montag) 12:00 - 14:00 Online
07.06.2021 (Montag) 12:00 - 14:00 Online
14.06.2021 (Montag) 12:00 - 14:00 Online
21.06.2021 (Montag) 12:00 - 14:00 Online
28.06.2021 (Montag) 12:00 - 14:00 Online
05.07.2021 (Montag) 12:00 - 14:00 Online
12.07.2021 (Montag) 12:00 - 14:00 Online