MIN122: Fortgeschrittenes Data Engineering

Kernmodule

MIN122: Fortgeschrittenes Data Engineering

Kurzporträt MIN122: Fortgeschrittenes Data Engineering
Worum geht es? Fortgeschrittenes Data Engineering behandelt den Aufbau skalierbarer Datenplattformen und Datenpipelines. Die Studierenden beschäftigen sich mit verteilten Datenarchitekturen, Datenintegration, Verarbeitung großer Datenmengen, Qualität, Governance, Betrieb und technischer Bewertung.
Wofür braucht man es? Die Kompetenzen werden gebraucht, um Daten zuverlässig für Analyse, KI, Reporting und operative Systeme bereitzustellen. Sie sind zentral für Data Platforms, Data Warehousing, Lakehouse-Architekturen, Echtzeitdatenverarbeitung und datengetriebene Anwendungen.
Wieso ist es interessant? Spannend ist das Modul, weil Datenarbeit oft unsichtbare Infrastruktur ist, aber über den Erfolg datengetriebener Systeme entscheidet. Schlechte Datenflüsse, unklare Semantik oder fehlende Qualitätssicherung wirken sich direkt auf Analyse und KI aus.
Modulverantwortung

Prof. Dr. Christoph Quix

Lehrperson(en)

Prof. Dr. Christoph Quix

Verwendbarkeit

Master Informatik

Fächergruppe

Informatik

Modultyp
Wahlpflicht
Sprache

Deutsch

Angebot

Sommersemester

Dauer

1 Semester

Credits

5 ECTS

Benotung

Deutsche Notenskala 1-5

SWS

4SL

Workload
Präsenzstudium: 45 Std. Selbststudium: 90 Std.
Engl. Titel

Advanced Data Engineering

Empfohlene Voraussetzungen

Empfohlen werden Kompetenzen aus den Bereichen Data Engineering, Datenbanksysteme und Datenmodellierung. Die Studierenden sollten komplexe SQL-Anfragen sowie relationale und multidimensionale Datenmodelle entwerfen können. Kenntnisse nichtrelationaler Datenbanksysteme, von Datenaufbereitungs-Pipelines sowie grundlegende Programmierkenntnisse in Python oder einer vergleichbaren Sprache sind wünschenswert.

Lernergebnisse / Kompetenzen
WAS

Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, skalierbare Datenplattformen für datenintensive und KI-basierte Anwendungsszenarien methodisch auszuwählen, anzuwenden und hinsichtlich ihrer funktionalen und nichtfunktionalen Eignung systematisch zu bewerten.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • Anforderungen an skalierbare Datenplattformen analysieren und daraus begründete Architekturentscheidungen für Speicherung, Verarbeitung und Bereitstellung von Daten ableiten,
  • physische Speicher- und Indexstrukturen algorithmisch untersuchen und deren Auswirkungen auf Anfrageverarbeitung und Skalierbarkeit beurteilen,
  • verteilte Anfragepläne, Kostenmodelle und Ausführungsstrategien analysieren und Verfahren zur Partitionierung, Parallelisierung und Optimierung anwenden,
  • geeignete relationale und nicht-relationale Datenmodelle und Speichersysteme vergleichen,
  • Datenqualitätsprüfungen, Metadatenmanagement, Data Lineage, Monitoring und weitere DataOps-Verfahren in Datenpipelines integrieren,
  • Architekturen moderner Datenplattformen unter Berücksichtigung technischer, betrieblicher und organisatorischer Anforderungen entwerfen und dokumentieren,
  • die Skalierbarkeit, Latenz, den Durchsatz und den Ressourcenbedarf datenintensiver Systeme anhand geeigneter Experimente messen und kritisch bewerten,
  • aktuelle wissenschaftliche Arbeiten des Data Engineering einordnen und darauf aufbauend in einer Gruppe einen ausgewählten Teilaspekt einer skalierbaren Datenplattform implementieren, evaluieren und die Ergebnisse in Form eines wissenschaftlich strukturierten Kurzbeitrags dokumentieren und präsentieren.
WOZU

Die Studierenden nutzen diese Kompetenzen, um technisch und organisatorisch tragfähige Datenplattformen für komplexe datenintensive Anwendungen fundiert auszuwählen, weiterzuentwickeln und zu beurteilen.

Inhalte
  • Grundlagen skalierbarer und verteilter Datenverarbeitung: horizontale Skalierung, Partitionierung, Replikation, Datenlokalität, Konsistenz und Fehlertoleranz
  • Physische Datenorganisation: zeilen- und spaltenorientierte Speicherung, Dateiformate, Kompression, Partitionierung, Sortierung und Datenverteilung
  • Index- und Zugriffsstrukturen wie z. B. B+-Bäume, Hash-Indizes, Bitmap-Indizes sowie Indexverfahren für vektorielle Ähnlichkeitssuche
  • Verteilte Anfrageverarbeitung und -optimierung: Anfragepläne, Parallelisierung, Shuffle-Operationen, verteilte Join-Verfahren, Kostenmodelle und adaptive Ausführung
  • Spezialisierte Datenbanksysteme und Datenmodelle wie z. B. Key-Value-, Wide-Column-, Dokumenten-, Graph-, Zeitreihen-, Such- und Vektordatenbanken
  • Architekturen moderner Datenplattformen (Data Warehouse, Data Lake, Lakehouse, Data Fabric, Data Mesh) sowie offene Speicher-, Tabellen- und Metadatenkonzepte
  • Data Stream Processing und Zeitreihendaten: Ereignis- und Zeitmodelle, Fenster, Watermarks, verspätete Ereignisse und Verarbeitungssemantiken
  • Datenplattformen für KI-Systeme: Feature-, Embedding- und Retrieval-Pipelines, vektorielle Daten sowie Schnittstellen zum Model-Lifecycle-Management
  • Datenqualität, automatisierte Qualitätsprüfungen, Data Lineage, Monitoring, Observability, Metadatenmanagement und DataOps
  • Organisatorische Einordnung anhand aktueller Referenzmodelle des Datenmanagements und der Data Governance
  • Experimentelle Evaluation datenintensiver Systeme anhand von Skalierbarkeit, Latenz, Durchsatz und Ressourcenbedarf
  • Analyse und Diskussion aktueller Methoden und wissenschaftlicher Veröffentlichungen aus dem Data Engineering
Prüfungsvorleistung

Keine gesonderte Prüfungsvorleistung. Die Bestandteile des Portfolios werden semesterbegleitend erarbeitet.

Prüfungsleistung

Studien- oder Projektarbeit. Sie wird als Portfolio mit Projektarbeit, schriftlicher Ausarbeitung, Repository, Ergebnispräsentation und Fachgespräch ausgestaltet. Gruppen von drei bis vier Studierenden bearbeiten einen ausgewählten Teilaspekt einer skalierbaren Datenplattform. Im Fachgespräch werden die individuellen Beiträge, das Verständnis der eingesetzten Verfahren sowie die Fähigkeit zur Begründung, Bewertung und Übertragung der getroffenen Architekturentscheidungen geprüft. Die individuellen Leistungen werden zusätzlich anhand der im Portfolio dokumentierten Arbeiten bewertet.

Literatur
  • Kleppmann, Martin: Designing Data-Intensive Applications. O’Reilly, 2017.
  • Reis, Joe; Housley, Matt: Fundamentals of Data Engineering. O’Reilly, 2019.