Cassandra Presentation
Cassandra Presentation
Cassandra Presentation
Réalisé par
● Med-Amine LAHMAM
● Bahae Eddine HALIM
● Chihab Eddine Tai
● Soufiane Nougah
● Ayoub Lakhdar
2-Acid-vs-cap
3-Installation
4-Principes-architecture
5-cqlsh intro
8- Data Modeling
9- Cluster
10- Manipulation
1- Introduction
Apache Cassandra est un système de gestion de base de données 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é
Dynamo, créé par Amazon, pour son architecture distribuée sans nœud
maître.
Quand utiliser Cassandra ?
● La cohérence
● La disponibilité
● La tolérance aux pannes et aux coupures
réseaux
Le théorème CAP
Le théorème postule que pour toute base de données distribuée, on ne peut choisir
que 2 de ces 3 paramètres, jamais les 3 en même temps. En théorie, on peut
donc choisir les couples suivants :
● Cohérence disponibilité (CA) donc non résistante aux pannes ( P)
● Cohérence et tolérance aux pannes (CP) donc non disponible à 100% (A)
● Disponibilité et tolérance aux pannes (AP) donc non cohérente à 100% (C)
3- Installation via
Docker
4- Principes et
Architecture
nodetool status / nodetool info : nous donne des informations et l'état de notre
cluster .
USE MonEspaceDeCle;
CREATE COLUMNFAMILY MesColonnes (id text, Nom text, Prenom text, PRIMARY KEY(id));
INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('1', ‘tai’, 'Chihab eddine');
INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('2', 'LAHMAM', 'Amine');
INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('3', 'Halim', 'Bahae');
INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('4', 'Lekhdar', 'Ayoub');
INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('5', 'Nougah', 'Soufiane');
● Replication factor
● strategie de réplication / SimpleStrategy (NetworkTopologyStrategy)
Élastique
03 03 Limitation de la taille des données
Haute disponibilité
04
05 Open source
Data modeling = modélisation de données
Différence importante entre sql et nosql → modélisation/conception différente
DUPLICATION/DENORMALIZATION ???
● simplification de la conception
● simplification de la maintenance
● moins de relations = plus de performances
● microservices >> le relationnel se fait au niveau des applicatifs
● configuration du cluster/nodes
/etc/cassandra/cassandra.yml
changement de nom de cluster après premier démarrage
DESCRIBE KEYSPACES;
Requête
SELECT * FROM mytb;
Se positionner dans un keyspace
use <keyspace_name> ;
use myks ;
Supprimer un keyspace
DROP KEYSPACE <keyspace_name> ;
USE myks;
CREATE TABLE mytb (id int
PRIMARY KEY, name text);
DESCRIBE TABLES
Merci pour votre attention