MBOUZEKO Adéla, NGADJEU Oliia Plan de la présentation
I Introduction
II Architecture de CASSANDRA
III Le modèle de données de Cassandra
IV L'accès aux données dans Cassandra
V Replication dans cassandra
ENSPY/HN 3/Bases de données distribuées 02
INTRODUCTION Apache Cassandra est un système de gestion de base de données (SGBD) de type NoSQL conçu pour gérer des quantités massives de données sur un grand nombre de serveurs, assurant une haute disponibilité en éliminant les points de défaillance unique
Initialement développée par
Facebook, l'application a été mise à disposition en logiciel libre en juillet 2008, et rapidement adopté par des entreprises gérant d'importants volumes de données, telles Twitter, Netflix, digg.com ou 03 ENSPY/HN 3/Bases de données distribuées Spotify Architecture de CASSANDRA
Une instance Cassandra est une collection de nœuds
indépendants qui sont configurés ensemble pour former un cluster. Dans un cluster, tous les nœuds sont égaux, ce qui signifie qu'il n'y a pas de nœud maître ou un processus centralisant leur gestion.
04 ENSPY/HN 3/Bases de données distribuées
Le modèle de données de Cassandra
Le modèle de données de Cassandra s'appuie sur un schéma
dynamique, avec un modèle de données orienté colonne. Cela signifie que, contrairement à une base de données relationnelle, il n'est pas nécessaire de modéliser toutes les colonnes puisqu'une ligne n'a, potentiellement, pas le même ensemble de colonnes. exemple de table dans CASSANDRA
05 ENSPY/HN 3/Bases de données distribuées
Le modèle de données de Cassandra
Colonne Ligne Keyspace
La colonne est la plus petite unité de Une ligne est un ensemble de Un KeySpace est l'équivalant schéma donnée de Cassandra. Elle est colonnes (jusqu'à 2 Milliards). Elle est dans un SGBDR. constituée du triplet : identifiée par une clé. Nom C'est l'équivalent d'une ligne dans un Valeur : Maximum 2G. Elle n'est SGBDR, c'est donc un pas obligatoire. enregistrement. Timestamp : Sauvegarde la mise à jour la plus récente. 06 ENSPY/HN 3/Bases de données distribuées L'accès aux données dans Cassandra Le langage de requête spécifique à Cassandra s'appelle CQL (pour Cassandra Query Language) on peut intérroger une base de données cassandra à partir de la console cqlsh accecible via l'inite de commande windos ou par l'interface graphique de cassandra proposé par NoSQL CASSANDRA MANAGER
à partir de l'interface graphique à partir de CQLSH
ENSPY/HN 3/Bases de données distribuées 07
LE CQL Create INSERT INTO "table_name" VALUES ('')
Langage de requête Cassandra(CQL)
est la langue principale pour communiquer avec Apache Read SELECT column_list FROM table_name Cassandra. [WHERE condition [ALLOW FILTERING]] ;
Update UPDATE table_name SET
column_name=new_value WHERE primary_key=value ;
Delete DELETE column_name1[,
column_name2...] FROM table_name WHERE condition ;
08 ENSPY/HN 3/Bases de données distribuées
Replication dans cassandra
Il existe 3 notions fondamentales en clusterisation :
-La cohérence (consistency) C -La disponibilité (availability) A -La résistance au morcellement (partition tolerance) P
Sur cassandra, Un cluster peut contenir plusieurs Keyspaces.
Un Keyspace est l'équivalent d'un schéma dans une BDD relationnelle. Chaque Keyspace peut être paramétré de manière indépendante.
Il n'y a pas de nœud maître dans un cluster sur cassandra, ils sont tous au même niveau.
09 ENSPY/HN 3/Bases de données distribuées
Place à la pratique! Merci! pour votre aimable attention