Étude de cas Apache Cassandra

Concepts NoSQL

Miriam Antona

Software engineer

Apache Cassandra - aperçu

Logo Apache Cassandra

  • Base de données de familles de colonnes populaire
  • Développée à l'origine par Facebook
  • Open source
  • Devenue un projet de la Fondation Apache
Concepts NoSQL

Apache Cassandra - fonctionnalités

  • Distribuée
    • Données réparties sur les nœuds du cluster
    • Chaque nœud joue le même rôle
    • Pas de nœud maître
  • Haute disponibilité
  • Aucun point de défaillance unique
  • Montée en charge horizontale en ajoutant des nœuds
  • Pilotes clients Cassandra : C#, Java, Python, Scala, etc.
Concepts NoSQL

Apache Cassandra - fonctionnalités

  • Cassandra Query Language (CQL)
    • Interroger les données
    • Syntaxe proche de SQL
    • Tables (pour les familles de colonnes), lignes et colonnes
    • Différences entre CQL et SQL :
      • pas de jointures
      • pas de clés étrangères
      • pas de sous-requêtes, etc.
      • les lignes peuvent avoir un nombre de colonnes différent
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Concepts NoSQL

Apache Cassandra - écosystème

  • Projets, outils, produits et services Cassandra tiers
    • Offres cloud
    • Outils d'installation
    • Frameworks pour développeurs
    • Connecteurs
    • etc.
Concepts NoSQL

Apache Cassandra - clients

Logos de certains clients d'Apache Cassandra

Concepts NoSQL

Étude de cas Bigmate - aperçu

  • Suivi de position
  • Capteurs industriels
  • Productivité

Logo Bigmate

Concepts NoSQL

Étude de cas Bigmate - problème et solution

  • Plateforme IoT :
    • Ingère et traite de gros volumes de données hétérogènes
    • Intégrer des capteurs IoT, appareils et autres plateformes
    • Traiter les données en temps réel
    • Monter en charge et déployer sur plusieurs sites
    • Exemples d'applications :
      • Thermy → capter la température de la peau
      • Warny → détecter de possibles collisions
  • Test de MySQL, MongoDB, Apache Cassandra, etc.
    • Choix : Apache Cassandra
    • Meilleure évolutivité
Concepts NoSQL

Étude de cas Bigmate - résultats

  • Des millions d'opérations d'utilisateurs concurrents
  • Afficher 20 000 points de données en temps réel pour un client
  • Tolérance aux pannes (réplication des données)
Concepts NoSQL

Étude de cas Bigmate - résultats

  • Des millions d'opérations d'utilisateurs concurrents
  • Afficher 20 000 points de données en temps réel pour un client
  • Tolérance aux pannes (réplication des données)
1 https://cassandra.apache.org/case-studies/
Concepts NoSQL

Passons à la pratique !

Concepts NoSQL

Preparing Video For Download...