German English

NoSQL-Datenbanken

  • Dozent: Johannes Zschache
  • Termin: Donnerstag 09:15 - 10:45 im HS 19
  • Vorlesungsbeginn: 04.04.2019
  • Termin Abschlussklausur: 1.8.2019, 10:00 Uhr, Hörsaal 9
  • Die Anmeldung zur NoSQL-Vorlesung und Klausur erfolgt über AlmaWeb.

Übersicht

NoSQL-Datenbanksysteme dienen der effiziente Verwaltung von teilweise sehr großen Mengen nicht-relationaler Daten. Die Vorlesung betrachtet Unterschiede zu klassischen relationalen Datenbanksystemen und gibt einen Überblick über verschiedene Kategorien von NoSQL-Systemen.

Erwartete Vorkenntnisse: DBS1

KapitelThema/Dateien
1Einführung, Teil 2, Hörsaalübungen
2Graphdatenbanken, Teil 2, Hörsaalübungen
3Key-Value Stores, Teil 2, Hörsaalübungen
4Dokumentenorientierte Datenbanken, Teil 2
5Wide Column Stores

Literatur

Yelp Dataset

Yelp in Neo4j

  • Installation Neo4j
  • Installation APOC (manuell oder mit Docker)
  • Empfohlen: Arbeit mit reduziertem Datensatz
    • Snapshot aus dem Jahr 2006 (Daten im AlmaWeb)
    • Import über Cypher und APOC: Beispiel
    • Anpassung der Befehle um zusätzlich die Beziehungen Business-City und City-State hinzuzufügen (siehe Folie 52 in Kapitel “Graphdatenbanken”)
    • Entfernen der Nutzer ohne Namen: MATCH (n:User) WHERE n.name is null OPTIONAL MATCH (n)-[r]-() DELETE n,r;
  • Optional: Import des gesamten Datensatzes
    • Download der Daten
    • Datenvorverarbeitung: Verwendung der Skripte lat_long_expansion.py und json_to_csv.py (AlmaWeb; siehe auch Quelle der Skripte)
      • Evtl. müssen Sie noch einige Python-Packete installieren (z.B. reverse_geocoder)
      • Die über die Skripte erstellten CSV-Dateien befinden sich im Ordner data.
    • Import der CSV-Dateien über Skript import.sh (AlmaWeb)
      • Öffnen Sie das Skript import.sh und passen Sie den Pfad hinter ‘export DATA=’ an.
      • Führen Sie das Skript aus.
    • Anschließend muss die Konfiguration von Neo4j (neo4j.conf) angepasst werden: dbms.active_database=yelp.db
    • (Neu)Start von Neo4j
    • Anmerkung: In dieser Variante werden anstatt der Beziehung City-State die Beziehungen City-Area und Area-Country eingefügt. Die Cypher-Anfragen müssen dementsprechend angepasst werden.
Vorlesung