Hinweis: Aktuelle Informationen hierzu finden Sie im Blog

http://datenbanken.staud.info/kategorien/haw-lh-ws18-19-dbs/themen/

Eine umfassende Liste von NoSQL-Datenbanken findet sich hier: http://nosql-databases.org

1.1 Um was geht's?

Die Datenbankpraxis und mit ihr die Datenbanktheorie haben in den letzten 20 Jahren eine gewaltige Entwicklung genommen. Die klassischen Theorien (relational, objektorientiert) sind ergänzt worden um weitere, die der Vielfalt, Dynamik und Größe der Datenbestände, die inzwischen anfallen (im Internet und anderswo), gewachsen sind.

In diesem Seminar arbeiten wir uns in die Thematik ein, indem wir

  • die methodischen Grundlagen und
  • die verschiedenen Typen von Datenbanken / Datenbanksystemen

dieser neuen Datenbank- und Datenbanksystemtypen kennenlernen.

Konkret wird in jedem Vortrag ein Datenbanksystem vorgestellt.

In Kapitel 3 findet sich eine (sehr) kurze Beschreibung der NoSQL-Thematik. Es ist ein Auszug aus folgendem Buch:

Staud, Josef L.: Relationale Datenbanken. Grundlagen, Modellierung, Speicherung, Alternativen. Vilshofen 2015. Siehe auch: www.staud.info/dbs/index.htm.

1.2 Zu bearbeitende Fragen

Für alle betrachteten Datenbanken/Datenbanksysteme sollen folgende Fragen beantwortet werden:

  • Welche Datentypen/Datenstrukturen werden unterstützt?
  • Gibt es ein Datenmodell? Falls ja: wie sieht es aus? Schemafreiheit?
  • Anwendungsgebiete, typisches Einsatzszenario
  • Wie werden sie aufgesetzt und skaliert?
  • Replikation und Skalierung?
  • Vor- und Nachteile
  • "Verteilt oder nicht"?
  • Wie werden die CRUD-Operationen (Create, Read, Update, Delete) realisiert? Welche Abfragesprachen liegen vor/werden empfohlen?
  • Liegt Skalierbarkeit vor? Falls ja: vertikal? horizontal?

Insgesamt: Durch welche Strukturen und Anforderungen in den Datenbeständen wurde das jeweilige Datenbanksystem motiviert?

Bei InMemory- und XML-Datenbanken wurde der Fragenkatalog spezifiziert (vgl. unten).

1.3 Theoretische Grundlagen

Die Welt der "Neuen Datenbanktechnologien" benötigt "neue" theoretische Grundlagen, die v.a. aus der Notwendigkeit herrühren, Datenbanken in weltweit vernetzten Systemen zu realisieren:

  • Map/Reduce
  • CAP-Theorem
  • Consistent hashing
  • MVCC-Protokoll
  • Vector Clocks
  • Paxos
  • REST, REST-API
  • Spaltenorientierte Datenbanken

Falls eines dieser Themen bei dem von Ihnen gewählten Thema eine Rolle spielt, erläutern Sie es bitte. Es macht auch nichts, wenn ein Thema in mehreren Vorträgen, evtl. mit anderen Beispielen, vorkommt.

Diese theoretischen Grundlagen sind ausführlich und anschaulich dargestellt in [Edlich, Friedland, Hampe u.a. 2011], teilweise und kurz gefasst in [Perkins, Redmond und Wilson 2018a] und auch in den Büchern zu den einzelnen Systemen.