Lehrende: Mareike Schmidt
Veranstaltungsart: Projekt
Anzeige im Stundenplan: PJ Mod. Datenbank
Semesterwochenstunden: 6
Unterrichtssprache: Deutsch
Min. | Max. Teilnehmerzahl: - | 15
Anmeldegruppe: Anmeldegruppe Projekte
Weitere Informationen: Blockveranstaltung. Weitere Informationen werden in STiNE bekannt gegeben.
Kommentare/ Inhalte: Durch die Entwicklung immer mehr neuer Datenmodelle seit 2009 hat sich die Datenbanklandschaft stark gewandelt. Neben den zuvor dominierenden relationalen Systemen (z.B. PostgreSQL oder MySQL) werden immer häufiger Document- (MongoDB), Key-Value- (Redis) und Wide-Column-Stores (Cassandra) sowie Graph-Datenbanken (Neo4J) eingesetzt. Jedes dieser Datenbanksysteme ist auf unterschiedliche Anwendungen spezialisiert und bietet hierfür eine ideale Lösung bezüglich Anfragesprache, Datenkonsistenz, Verfügbarkeit und Replikation. Doch nicht für alle Anwendungen ist ein einzelnes, spezialisiertes System ausreichend. Insbesondere große Unternehmen, wie Amazon, Facebook, Twitter und Netflix, integrieren zunehmend mehrere verschiedene Datenbanksysteme in ihre Anwendungen, um so deren unterschiedliche Vorteile auszunutzen. In diesem Projekt soll in Gruppen für einen konkreten Anwendungsfall eine Softwarelösung entwickelt werden, die unterschiedliche Datenbanksysteme verwendet. Mögliche Anwendungen wären beispielsweise soziale Netzwerke sowie Verkehrs- und Krankenhaussysteme, die viele unterschiedliche Arten von Datenmodellen und Anfragen benötigen. Es besteht natürlich die Möglichkeit eigene Anwendungsfälle zu bearbeiten. Voraussetzungen: Programmierkenntnisse, Grundlagen von Datenbanken Durchführung: Das Projekt findet abhängig von der Pandemielage in Präsenz oder digital statt. Die Durchführung wird ggf. im Laufe des Semesters an die Pandemielage angepasst. Die Organisation erfolgt über Moodle. Die Zugangsdaten werden den Teilnehmenden zu Beginn des Semesters über Stine zur Verfügung gestellt. Periodizität: wöchentlich Stichworte: NoSQL, Polyglotte Persistenz, Microservices
Lernziel: Erwerb eines fundierten Überblicks über den gleichzeitigen Einsatz verschiedener moderner Datenbanksysteme und die zugrundeliegenden Konzepte / Technologien sowie die praktische Integration von Datenbanksystemen in eine selbst entwickelte Anwendung.
Vorgehen: In diesem Projekt soll in Gruppen für einen konkreten Anwendungsfall eine Softwarelösung entwickelt werden, die unterschiedliche Datenbanksysteme verwendet. Mögliche Anwendungen wären beispielsweise soziale Netzwerke sowie Verkehrs- und Krankenhaussysteme, die viele unterschiedliche Arten von Datenmodellen und Anfragen benötigen. Es besteht natürlich die Möglichkeit eigene Anwendungsfälle zu bearbeiten.
Literatur: Wird auf der Webseite der Veranstaltung bekannt gegeben.