Organisation des flux dans CASSANDRA

L’organisation des flux au sein de CASSANDRA (Commitlog, Ecriture, Lecture, Replication…) est le mortier des fondations du SGBD. Vous avez été nombreux à me demander quelques explications sur le fonctionnement interne de CASSANDRA ainsi que la stratégie à adopter pour déployer un cluster de plusieurs noeuds. Il y a certaines zones d’ombres qui me reste à étudier (les relations entre «JVM» < => «Commitlog» < => Réplication) pour une parfaite compréhension du workflow d’enregistrement de la data et de sa réplication au sein d’un cluster. Si vous avez des précisions à apporter à ce billet ou même des corrections, vos recommandations et notes seront très très appréciés.

    Les flux dans CASSANDRA peuvent être séparés en deux grandes catégories à savoir :

  • Flux datas : enregistrement et lecture de la donnée,
  • Flux de services : communication entre les noeuds, gestion du partitionnement, stratégie de la réplication.

Nous allons aborder dans ce billet les flux datas : écriture et lecture de la donnée.

Lire la suite

Débuter avec CASSANDRA et PHP

CASSANDRA est de la famille des SGBD dit «NoSQL». L’abandon de certains dogmes et le choix du compromis où les données ne sont plus liées de manière relationnelle (clef primaire / clefs étrangères), ont permis de répondre efficacement aux besoins croissants et gourmands des mécanismes d’analyse de données massives et proposent par la même occasion, des architectures techniques scalables (Master to Master) et redondantes (Multi data-center).

Les bases de données NoSQL peuvent être de type document, graphe, colonne ou clés/valeurs. Ces solutions ont émergé sous l’impulsion de grosses entreprises du web qui ont vu exploser le volume de leur DATA : Twitter, Facebook, Amazon ou encore Google. CASSANDRA n’est qu’un maillon de la chaine dans l’architecture technique qui va permettre aux décisionnels de traiter, d’extraire et de faire parler les datas.

CASSANDRA peut être utilisé en cluster et offrir tout ce qu’un cluster a à offrir comme par exemple :

  • tolérance aux pannes,
  • mécanisme de «scalling» linéaire,
  • rapidité sur les écritures,
  • réplication simplifiée et bien d’autres choses encore

Dans un premier point, on abordera la structure de CASSANDRA pour bien comprendre comment sont enregistrées les données. Dans un deuxième point, on installera CASSANDRA et nous ferons nos premiers scripts PHP.

Lire la suite