Caso di studio su Apache Cassandra

Concetti NoSQL

Miriam Antona

Software engineer

Apache Cassandra - panoramica

Logo di Apache Cassandra

  • Diffuso database a famiglie di colonne
  • Sviluppato inizialmente da Facebook
  • Open-source
  • Diventato progetto della Apache Foundation
Concetti NoSQL

Apache Cassandra - funzionalità

  • Distribuito
    • I dati sono distribuiti tra i nodi del cluster
    • Ogni nodo ha lo stesso ruolo
    • Nessun nodo master
  • Alta disponibilità
  • Nessun single point of failure
  • Scala orizzontalmente aggiungendo nodi
  • Driver Cassandra: C#, Java, Python, Scala, ecc.
Concetti NoSQL

Apache Cassandra - funzionalità

  • Cassandra Query Language (CQL)
    • Interrogare i dati
    • Sintassi simile a SQL
    • Tabelle (per famiglie di colonne), righe e colonne
    • Differenze tra CQL e SQL:
      • niente join
      • niente chiavi esterne
      • niente subquery, ecc.
      • le righe possono avere un numero diverso di colonne
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Concetti NoSQL

Apache Cassandra - ecosistema

  • Progetti, strumenti, prodotti e servizi di terze parti per Cassandra
    • Offerte cloud
    • Strumenti di installazione
    • Framework per sviluppatori
    • Connettori
    • ecc.
Concetti NoSQL

Apache Cassandra - clienti

Loghi di alcuni clienti di Apache Cassandra

Concetti NoSQL

Caso di studio Bigmate - panoramica

  • Tracciamento della posizione
  • Sensori industriali
  • Produttività

Logo Bigmate

Concetti NoSQL

Caso di studio Bigmate - problema e soluzione

  • Piattaforma IoT:
    • Acquisisce ed elabora grandi volumi di dati eterogenei
    • Integra sensori IoT, dispositivi e altre piattaforme
    • Elabora dati in tempo reale
    • Scala e distribuisce su più sedi
    • Esempi di applicazioni:
      • Thermy -> rileva la temperatura cutanea delle persone
      • Warny -> rileva possibili collisioni
  • Testati MySQL, MongoDB, Apache Cassandra, ecc.
    • Scelta: Apache Cassandra
    • Scala meglio
Concetti NoSQL

Caso di studio Bigmate - risultati

  • Milioni di operazioni di utenti concorrenti
  • Visualizza 20.000 punti dati in tempo reale per un singolo cliente
  • Tolleranza ai guasti (replica dei dati)
Concetti NoSQL

Caso di studio Bigmate - risultati

  • Milioni di operazioni di utenti concorrenti
  • Visualizza 20.000 punti dati in tempo reale per un singolo cliente
  • Tolleranza ai guasti (replica dei dati)
1 https://cassandra.apache.org/case-studies/
Concetti NoSQL

Esercitiamoci!

Concetti NoSQL

Preparing Video For Download...