Apache Cassandra

Cette formation vous donnera les connaissances et l’expérimentation pratique nécessaires à la mise en oeuvre et l'administration d'Apache Cassandra au quotidien.


Description de la formation

Cassandra est une base de données distribuée NoSQL connue pour ses capacités à savoir gérer sans défaillance de très grosse quantité de données structurées, notamment utilisée à travers Spark dans les nouvelles architectures SMACK (Spark / Mesos / Akka / Cassandra / Kafka).
Cette formation Cassandra vous donnera les connaissances et l’expérimentation pratique nécessaires à la mise en oeuvre et l'administration d'Apache Cassandra au quotidien.


Objectifs pédagogiques

- Comprendre l’architecture et le fonctionnement du SGBD NoSQL Apache Cassandra - Installer et configurer un cluster Cassandra - Créer une base de données et manipuler ses objets - Découvrir les principes de l’optimisation et du développement - Se familiariser avec les outils d’administration/monitoring Cassandra

Public visé

- Développeurs, - Architectes, - Administrateurs systèmes - Devops

Prérequis de la formation

- Connaissances de base d’un système Unix (Savoir se débrouiller dans un terminal) - Connaissances de base du langage Java

Programme de la formation (personnalisable)

JOUR 1

INTRODUCTION À CASSANDRA & NOSQL

  • Architecture : d’hier à aujourd’hui « BIG DATA » (‘SQL’ => ‘NOSQL’)
  • Polygloc Persistence*. Typical architecture (hier et aujourd’hui)
  • Introduction à Cassandra (Concepts, ACID => CAP)
  • Cassandra Architecture (Comprendre son fonctionnement pour bien l’exploiter: commit log, data stockage, services, flux)
  • Répartition & Distribution
  • Consistency & Réplication (Hint, Repair, Tombstones)

DATA MODELING AVEC CASSANDRA : BECOME A SUPER MODELER !

  • Le keyspace
  • Big Table : Clé / Valeur, la clé est dans la key 
  • Le Relationel en NOSQL => La dé-normalisation
  • Don’t be afraid of writes !
  • Wide Row (Clustering columns)
  • Counters
  • Do you need a Transaction?
  • Options des tables (compactions, gc graces, ttl …)
  • Best practises : ce à quoi il faut penser (row size, partitions, clustering or not clustering columns)
  • TP (Use-cases & Discussions)

 

JOUR 2

MONITORING : QUOI MONITORER ?

  • Throughput, read and write requests
  • Latency, read and write latency
  • Disk usage, disk space on each node
  • Garbage collection frequency and duration
  • Errors and overruns, especially unavailable exceptions which indicate failed requests due to unavailability of nodes in the cluster
  • Outils (nodetool, JMX, Datastax OpsCenter (DSE) …

CASSANDRA TUNING

  • Cassandra pré-requis (hardware)
  • cassandra.yaml (propriétés)
  • Propriétés majeures (tuning)
  • JVM options (tuning)
  • Use-cases & Discussions

 

JOUR 3

BEST PRACTICES

  •  Java driver (description, configuration, instanciation …)
  • Writes: best practises
  • Reads: best practises
  • Gestion des erreurs (exception)
  • TP
  • Use-cases & Discussions

ADMINISTRATION

  • Object Mapping
  • Tests d’intégration (cassandra embedded)
  • TP
  • Administration (overview) d’un cluster cassandra: possibilité, les choses à faire, les choses à ne pas faire
  • Retours d’expérience, pour aller plus loin (associer d’autres technologies ?)