Étude de cas Apache Cassandra

Concepts NoSQL

Miriam Antona

Software engineer

Apache Cassandra – aperçu

Logo d'Apache Cassandra

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

Apache Cassandra – fonctionnalités

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

Apache Cassandra – fonctionnalités

  • Cassandra Query Language (CQL)
    • Interroger les données
    • Syntaxe semblable à 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 contenir un nombre différent de colonnes
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Concepts NoSQL

Apache Cassandra – écosystème

  • Projets, outils, produits et services Cassandra tiers
    • Offres infonuagiques
    • Outils d'installation
    • Cadres 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 localisation
  • Capteurs industriels
  • Productivité

Logo de Bigmate

Concepts NoSQL

Étude de cas Bigmate – problème et solution

  • Plateforme IoT :
    • Ingère et traite de gros volumes de données variées
    • Intégrer des capteurs, appareils IoT et autres plateformes
    • Traiter les données en temps réel
    • Monter en charge et déployer sur plusieurs sites
    • Exemples d'application :
      • Thermy -> capte la température de la peau
      • Warny -> détecte des collisions possibles
  • A testé MySQL, MongoDB, Apache Cassandra, etc.
    • A choisi Apache Cassandra
    • Meilleure montée en charge
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 seul 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 seul 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...