TourDelight

Aufgabenstellung

Entwickeln sie ein Datenmodell für ein Cassandra-Datenbanksystem, das die Grundlage für eine Tourenplaner-App ähnlich wie “outdooractive” oder “komoot” bilden kann.

Relationales Modell

Ausgangspunkt für das Cassandra-Modell soll folgendes Relationenmodell sein.

Query-First-Ansatz

Verfolgen sie den Query-First-Ansatz wie in (link) beschrieben.

Cassandra-Datenmodell

Entwerfen sie mindestens 3 Zugriffspfade und realisieren sie diese als Cassandra-Struktur mittel CQL.

Container

Implementieren sie das Ganze in einem Docker-Container.

services:
  cas:
    container_name: cas
    image: cassandra:latest
    ports:
      - 7000:7000
      - 7001:7001
      - 7070:7070
      - 7199:7199 
      - 9042:9042
      - 9160:9160
    environment:
      - JVM_OPTS=-Xms1024M -Xmx1024M
      - HEAP_NEWSIZE=1024M
      - MAX_HEAP_SIZE=1024M

Legen sie einen Keyspace tourdelight an:

create keyspace tourdelight with replication = {
  'class': 'SimpleStrategy', 'replication_factor' : 1
};

Zugriff per Python

Realisieren sie beispielhaft in Python Funktionalität zum Zugriff auf die Daten. Implementieren sie mindestens ein Beispiel, bei dem wegen der Denormalisierung Maßnahmen zur Konsistenzhaltung der Daten umgesetzt werden müssen. Informationen zum Python-Treiber finden sie hier. Er ist bereits im Container installiert.

Präsentation

Präsentieren sie ihre Ergebnisse im folgenden LV-Termin.

Top Sitemap