Studierenden wird fortgeschrittenes Wissen über die Funktionsweise von Rechnernetzen und Datenbanksystemen vermittelt. Sie lernen die systematische Vorgehensweise zur Planung und Realisierung von komplexen Informationssystemen und Kommunikationsstrukturen insbesondere für verteilte Systeme. Neben der Betrachtung des Aufbaus und der Funktionsweise moderner Datenbanksysteme werden grundsätzliche Probleme bei der Kommunikation über paketbasierte Netze identifiziert, allgemeine Lösungsansätze für diese Probleme vorgestellt und deren Einsatz anhand von aktuellen Netzprotokollen, -komponenten und -diensten veranschaulicht.
Im Fokus der Vorlesung stehen Aufbau und Funktionsweise moderner relationaler und nicht-relationaler Datenbanksysteme sowie das Transaktionsmanagement:
Teil I behandelt insbesondere relationale Datenbankmanagementsysteme (RDBMS): Grundlagen, Architektur, Komponenten, interne Datenorganisation, Verarbeitung von SQL-Anfragen, Erzeugung optimierter Ausführungspläne, Besonderheiten der Pufferverwaltung, Einsatz von Indexstrukturen, Performanz.
Teil II ist dem Transaktionsmanagements in Datenbanksystemen gewidmet: Definitionen, wesentliche Komponenten in gängigen DBMS, Zustandsdiagramm, ACID-Kriterien, Isolation und Fehlerphänomene, Synchronisationsverfahren (2PL, S2PL, SS2PL, Snapshot Isolation), Serialisierbarkeit, Umsetzung in SQL, Grundlagen Logging und Recovery.
Teil III betrachtet Mechanismen und Datenstrukturen in verteilten relationalen und nicht-relationalen Datenbanksystemen: Aufbau von Multi-RDBMS, Fragmentierung von Datenbanktabellen, Stufen der Datentransparenz und Auswirkungen auf Anwendungen, Techniken der verteilten Verbundberechnung, verteilte ACID-Transaktionen, Einordung nicht-relationaler (NoSQL-) Datenmanagementsysteme, Techniken der Datenpartitionierung, Replikation, BASE, Map-Reduce, Consistent Hashing.
Powerpoint-Folien, Tafelmitschrift, Übungsblätter, empfohlene Lehrbücher:
Özsu, Valduriez: "Principles of Distributed Database Systems", 3rd Edition
Seminaristischer Unterricht mit insg. drei Übungseinheiten á 90 Min.
In der Vorlesung „Kommunikationsnetze 2“ erweitern die Studierenden ihre Kenntnisse über Kommunikationsnetze, insbesondere durch eine tiefgehende Betrachtung der Funktionalitäten und Herausforderungen der Schichten des Internet-Protokollstapels. Nach Abschluss der Vorlesung sind sie in der Lage, fortgeschrittene Mechanismen und Protokolle in der Anwendungsschicht, Transportschicht, Vermittlungsschicht und Sicherungsschicht zu analysieren, zu bewerten und praktisch anzuwenden. Sie können komplexe Netzwerkprobleme identifizieren, spezifische Lösungsbausteine kombinieren und innovative Lösungen entwickeln.
Die Vorlesung behandelt die folgenden Inhalte:
Die Vorlesung wird im Flipped Classroom-Format unterrichtet. Die Studierenden bereiten sich eigenständig mit Vorlesungsfolien und Erklärvideos auf die Präsenzveranstaltungen vor. In diesen Terminen werden die Themen durch Fallstudien und Übungen vertieft. Online-Tests bieten den Studierenden die Möglichkeit zur Selbstüberprüfung und zur Sammlung von Bonuspunkten für die Klausur. Die Prüfungsleistung besteht aus einer 60-minütigen Klausur, die Teil der Modulklausur „Datenbanken und Kommunikationsnetze 2“ ist.
Der Arbeitsaufwand beträgt insgesamt 75 Stunden, aufgeteilt in 25 Stunden Präsenzzeit, 25 Stunden asynchrones Lernen und 25 Stunden für Prüfungsvorbereitung und Nachbereitung.