• Donnerstag 9:15-10:45, HS19
Thursday, 04.04.2019

Anmeldung

Die Anmeldung zur Vorlesung, Übung und Klausur erfolgt über AlmaWeb.

  • Achtung: Sie müssen sich für das Modul und die Veranstaltungen (Vorlesung + Übung) anmelden.
  • Bei Fragen und Problemen zur Anmeldung wenden Sie sich bitte immer an das Studienbüro via einschreibung [at] math.uni-leipzig.de (einschreibung(at)math.uni-leipzig.de)

Ü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
xKlausurthemen

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.