Datenbankfunktionalität in der Cloud

Vorlesung:

Die Vorlesung wird -- wenn sich die Rahmenbedingungen nicht erneut ändern -- als Präsenzveranstaltung stattfinden, wie folgt:

Wenn Sie physisch anwesend sein wollen, müsen Sie geimpft, getestet oder genesen sein, das haben Sie sich vermutlich schon gedacht. Ich bin verpflichtet, das zu überprüfen, und werde das auch tun, weil ich auf dieser Ebene keine Schwierigkeiten bekommen möchte. Es gibt im Hörsaal -101, in dem die Vorlesung stattfinden wird, ein Kartenlesegerät. Sie haben die Möglichkeit, "digital" zu hinterlegen, dass Sie geimpft, getestet oder genesen sind, dann ist die Überprüfung nur ein Auflegen Ihres Studierendenausweises. Ich bitte Sie nachdrücklich, davon Gebrauch zu machen, im Interesse eines reibungsfreien Ablaufes. (Insbesondere die Kombination von 'zu spät Kommen' und 'ich muss Sie
"persönlich"
überprüfen' wäre rücksichtslos.) Meines Wissens wurden Sie bereits informiert, was genau Sie tun müssen.

Meines Wissens müssen im Hörsaal während einer Präsenzvorlesung jetzt keine Plätze mehr frei bleiben. Sie sind allerdings nach derzetigem Stand verpflichtet, während der Vorlesung eine Maske zu tragen.

Die Vorlesung wird aufgezeichnet und live gestreamt. Streaming allerdings nicht über twitch, sondern unter Verwendung der ATIS-Infrastruktur, s. b. https://videos.informatik.kit.edu/. Das habe ich in der Zeit vor Corona bereits genutzt, und es klappt gut. (Meine Erfahrung ist, dass bei ca. einer Sitzung pro Semester die Übertragung und das Aufzeichnen aus technischen Gründen, die außerhalb meines Verantworetungsbereichs liegen, nicht funktioniert...) Diese Infrastruktur beinhaltet allerdings übrigens keine Chat-Möglichkeit.

Beschreibung:

Wir erleben derzeit, dass "Eigentümer" großer Datenbestände, seien es große Organisationen, seien es Startups, in großem Umfang Datenbankfunktionalität mieten, anstatt sie selbst bereitzustellen. Die "total costs of ownership" sind in vielen Fällen einfach erheblich günstiger. In dieser Vorlesung geht es um Datenbanktechnologie, die genau das ermöglicht. Das ist zum einen für Sie von Bedeutung, wenn Sie solche Dienste irgendwann nutzen wollen, es wird aber selbst dann interessant sein, wenn Sie mit Datenbanktechnologie "in herkömmlicher Form" zu tun haben werden.

Aus meiner Sicht sind insbesondere die folgenden Leistungsmerkmale von "Cloud-fähiger Datenbanktechnologie", auf die ich dann in der Vorlesung auch ausführlich eingehen werde, zentral:

  • Vollautomatisches Tuning der einzelnen Datenbanken -- die Möglichkeit, sich mit einem Datenbankadministrator auszutauschen, gibt es nicht mehr!
  • Ungefähre Anfrageergebnisse sind plötzlich attraktiv. Die Ausführung jeder Anfrage wird einzeln nach Arbeitsaufwand abgerechnet -- hohe Fixkosten, die beim Eigenbetrieb einer Datenbank auftreten, fallen hingegen weitgehend weg.
  • Multi-Tenancy. D. h. wie stellt man sicher, dass voneinander komplett unabhängige Mieter ("Tenants") ein DBMS für ihre jeweilige Anwendung nutzen können, nicht nur ohne sich in die Quere zu kommen, sondern auch derart, dass man jedem Mieter für sich Laufzeitgarantien geben kann?
  • Sichere Speicherung. Die Verwaltung der Daten und die Auswertung von Anfragen soll in der Cloud stattfinden, der Infrastrukturanbieter soll aber nicht die Möglichkeit haben, die Daten auszuspähen. Beides in voller Schönheit geht derzeit nicht -- wir besprechen mögliche Kompromisse.

Wichtig in dem Zusammenhang sind aber auch klassische Konzepte wie verteilte Transaktionen und Datenhaltung und Anfrageverarbeitung im verteilten Fall, die ebenfalls Thema dieser Vorlesung sein werden.

Ziel:

Am Ende der Lehrveranstaltung sollen die Teilnehmer erklären können, was Datenbankfunktionalität in der Cloud ausmacht, und wo die Vor- und Nachteile liegen. Sie sollen verstanden haben, wie sich für den Cloud-Betrieb entwickelte Datenbanktechnologie von herkömmlicher derartiger Technologie unterscheidet, und was für Gemeinsamkeiten es gibt. Die Teilnehmer sollen die wesentlichen Ansätze, die Cloud-spezifische Datenbanktechnologie ausmachen, erläutern und voneinander abgrenzen können.

Literaturhinweise:

Wird in der Vorlesung bekanntgegeben, Grundlagen/Einlassungen zu einzelnen Vorlesungskapiteln finden sich in den folgenden Büchern:

  • Database Systems Implementation, by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom.
  • Concurrency Control and Recovery in Database Systems, by Philip A. Bernstein, Vassos Hadzilacos, and Nathan Goodman. 
  • Principles of Distributed Database Systems M. Tamer Özsu, Patrick Valduriez