Verteilte und Web-Informationssysteme (IN2038)

Informationen

  • Vorlesung: Do 9:15 -- 11:45 in Raum MI 02.09.014
  • Mittagspause: Do 11:45 -- 12:15
  • Übung: Do 12:15 -- 13:45 in Raum MI 02.09.014
  • Einsicht: Fr, 27.02.15 10:30 -- 11:00 in Raum MI 02.11.058

Voraussetzungen

  • Grundlagen der Informatik
  • Vorlesung Grundlagen Algorithmen und Datenstrukturen (GAD) (IN0007)
  • Vorlesung Grundlagen Datenbanksysteme (GDB) (IN0008)
  • Grundlagen Kommunikationsnetze wäre gut

Inhalt

Verteilte Systeme und speziell verteilte Datenbanksysteme werden bereits seit den 70er Jahren untersucht. Durch "Internet" und "Intranet" werden viele Visionen der 70er Jahre allerdings erst heute zur Realität, und verteilte Datenbankanwendungen gewinnen explosionsartig an Bedeutung. Diese Vorlesung wird alle klassischen Datenbankthemen wie Transaktionsverwaltung, Anfrageoptimierung, Anfrageauswertung und physischer Datenbankentwurf für verteilte Systeme behandeln. Die behandelten Techniken ergänzen hierbei Techniken, die für zentrale Datenbanksysteme eingesetzt werden (d.h. die Techniken werden zusätzlich zu den traditionellen, zentralen Techniken verwendet). Die Vorlesung wird Konzepte zur Realisierung von "globalen" Datenbank- und Informationsysteme sowie zur Realisierung von Datenbanken auf "lokalen" Clustern von Rechnern behandeln. Sie wird Techniken einführen, die bereits heute in Datenbankanwendungen zum Einsatz kommen, sowie Techniken erläutern, die gegenwärtig in der Forschung untersucht werden, um somit einen Ausblick auf die nächste Generation verteilter Datenbanken zu vermitteln. Zur Darstellung wird überwiegend das relationale Datenmodell verwendet. Jedoch können die meisten in der Vorlesung behandelten Konzepte unabhängig vom Datenmodell eingesetzt werden. Insbesondere werden auch Datenbanktechniken für Internet-basierte Datenquellen anhand aktueller Forschungsberichte vorgestellt.

Folien/Slides

Hilfsmittel und Tools

Hinweise zur Übung

Das erfolgreiches Bearbeiten der Hausaufgaben und Anwesenheit in der Übung geht mit vorraussichtlich 20% in die Endnote ein.

Die Aufgabenblätter sind in Gruppen von 3 bis 4 Personen zu lösen und bis zum genannten Zeitpunkt abzugeben. Falls Programmieraufgaben Bestandteil eines Übungsblattes sind sollen diese nicht per E-Mail sondern über ein Git-Repository eingereicht werden. Jede Übungsgruppe schickt bitte einmalig den Link zum repository an kothmayr@in.tum.de. Die Übungsleitung muss die nötigen Benutzerrechte für das Repository haben um darauf
git clone <repository-url>
bzw.
git pull <repository-url>
aufzurufen. In den darauf folgenden Wochen bitte jeweils einen neuen Unterordner für jedes Arbeitsblatt im Repository anlegen. Zusätzlich soll das Rootverzeichnis des Repositories eine Datei mit der Gruppennummer und den Namen aller Gruppenteilnehmer enthalten. Schriftliche Ausarbeitungen können auch in Papierform vor der Vorlesung abgegeben werden, ein PDF im Repository wird aber bevorzugt.

Die bevorzugte Programmiersprache ist C/C++ im Standart C++11, zur Not kann auch Java verwendet werden. Die abgegebenen Lösungen müssen auf Linux lauffähig sein. Verwenden Sie ein build system, wie z.B. make, und legen Sie Ihrer Abgabe eine Datei bei die beschreibt wie der Code zu kompilieren und auszuführen ist.

Beachten Sie die allgemeinen Hinweise zu Programmieraufgaben.