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 werden anhand der Funktionalitäten der einzelnen Schichten des Internet-Protokollstapels grundlegende Probleme beim Entwurf paketbasierter Netze erarbeitet, allgemeine Lösungsbausteine für diese Probleme identifiziert und deren Anwendung an konkreten Protokollen und Systemen veranschaulicht. In der Anwendungsschicht werden die Übertragung multimedialer Inhalte (Beispiele Netflix und Skype) sowie die Grundlagen sicherer Netzwerkkommunikation (Beispiele Secure Email und TLS) behandelt. Das Kapitel zur Transportschicht behandelt zuverlässige Paketübertragung (Beispiel TCP) und fortgeschrittene Staukontrolle (Beispiele CUBIC und Google BBR). Für die Vermittlungsschicht werden fortgeschrittene Adressierungs- und Konfigurationskonzepte (Beispiel IPv6), die Verallgemeinerung der Paketweiterleitung (Beispiel Software Defined Networking mit OpenFlow) und die Absicherung der Kommunikation (Beispiel IPsec) diskutiert. Abschließend wird die Flexibilisierung der Sicherungsschicht (Beispiele VLANs, MPLS und Datacenter Networks) betrachtet. Die Vorlesung versetzt die Studierenden in die Lage, die Funktionsweise und Leistungsfähigkeit von Abläufen auf verschiedenen Ebenen des Internet-Protokollstapels zu analysieren und Lösungsansätze für neue Problemstellungen zu entwickeln, indem sie die erlernten Lösungsbausteine anwenden und neu kombinieren, um auf die Entwicklung von performanten, sicheren und robusten Netzwerkanwendungen vorbereitet zu sein.
Weiter Literaturhinweise werden in der Vorlesung gegeben