Introduction à Cassandra

Gérald Quintana
Gérald QuintanaConsultant, developpeur, formateur Java, Elasticsearch em Zenika
Introduction à Cassandra
Big data & NoSQL
1 / 35
1.  Big Data
2.  NoSQL
3.  Architecture de Cassandra
4.  Développer avec CQL
Objectifs
2 / 35
Big Data
Big data is high­volume, high­velocity and high­variety information
assets that demand cost­effective, innovative forms of information
processing for enhanced insight and decision making.
Gartner
3 / 35
Big Data
Traitements en Batch ou Flux
Forts volumes
Performances
Haute­disponibilité
4 / 35
SQL or NoSQL?
Not using the relational model (nor the SQL language).
Open source.
Designed to run on large clusters
Based on the needs of 21st century web properties
No schema, allowing fields to be added to any record without controls
http://martinfowler.com/bliki/NosqlDefinition.html
5 / 35
Relationnel
Clé­Valeur
Document
Colonnes Cassandra
Graphe
Mixte
Modèles de données
6 / 35
ACID
Atomicity
Cohérence
Isolation
Durability
BASE
Basically Available
Soft state
Eventual consistency
ACID ou BASE?
7 / 35
Consistency
Availability
Partition tolerance
CAP
8 / 35
CAP
9 / 35
Cassandra en résumé
Distribuée
Masterless: pas de SPOF
Scalabilité linéaire
Tolérance aux pannes: 100% uptime
Performances
Consistance réglable
Multi­datacenter
Simplicité opérationnelle
10 / 35
Les origines
11 / 35
Plage de Tokens
Distribution
12 / 35
Hachage consistant
Distribution
13 / 35
Réplication
14 / 35
Scalabilité
15 / 35
Scalabilité linéaire
http://techblog.netflix.com/2011/11/benchmarking­cassandra­scalability­on.html
16 / 35
Noeuds virtuels
17 / 35
Node∈Rack∈Datacenter
Decoupage
Géographique
Logique
Cloud
Multi-datacenter
18 / 35
Coordinateur
19 / 35
Timestamp par cellule
Consistance ALL: Ecriture
20 / 35
Tolérance aux pannes
Hinted Handoff
Consistance ONE: Ecriture
21 / 35
Last write wins
Read repair
Consistance ALL: Lecture
22 / 35
Eventual consistency
Consistance ONE: Lecture
23 / 35
Consistance réglable
Niveau de consistance par requête
24 / 35
Consistance immédiate
R + W > RF
Consistance au final
R + W ≤ RF
Consistance: le bilan
25 / 35
Pour l'écriture
Append only + compaction
Pas de disk seek
Pour la lecture
Réplication & Load balancing
Modélisation adaptée → Accès
direct
Caches par table
Performances
26 / 35
Simplicité opérationnelle
Installation
Linux, Java, Python, NTP
Packaging: .tar, .rpm, .deb, .exe
2­3 fichiers de configuration
1 seul processus
1 seul type de noeud
Monitoring
nodetool, JMX, OpsCenter
27 / 35
Simplicité pour le développement
CQL = SQL simplifié
cqlsh
DevCenter
CCM, un cluster en local
28 / 35
CQL
CREATETABLEutilisateur(
id_utilisateurUUID,
loginVARCHAR,
date_naissanceTIMESTAMP,
rolesSET<VARCHAR>,
PRIMARYKEY(id_utilisateur)
);
INSERTINTOutilisateur(id_utilisateur,login,
date_naissance,roles)
VALUES('abc123...','jdoe',
'1978-04-06',{'blogger','journaliste'});
SELECT*FROMutilisateur
WHEREid_utilisateur='abc123...';
29 / 35
Modèle orienté colonne
Table utilisateur 
30 / 35
CQL Grandes lignes
CREATETABLEmessage(
id_utilisateurUUID,
id_messageTIMEUUID,
messageVARCHAR,
PRIMARYKEY(id_utilisateur,id_message)
);
INSERTINTOmessage(id_utilisateur,id_message)
VALUES('abc123...',now(),'ViveCassandra');
SELECT*FROMutilisateur
WHEREid_utilisateur='abc123...';
SELECTmessageFROMutilisateur
WHEREid_utilisateur='abc123...'ANDid_message='cde456...';
31 / 35
Modèle orienté colonne
Table utilisateur 
Table message 
Map<RowKey, SortedMap<ColumnKey, ColumnValue>>
32 / 35
Modélisation
Dénormaliser!
Besoin → Requête → Table
Adapter les données aux requêtes (pas l'inverse)
33 / 35
Driver
Load balancing, tolérance aux pannes, découverte
Synchrone ou asynchrone (réactive programming)
Librairies Java:
ObjectMapper, Achilles, Spring Data Cassandra...
Cassandra Unit, Stubbed Cassandra
34 / 35
Questions
35 / 35
1 de 35

Mais conteúdo relacionado

Mais procurados(20)

Apache Cassandra - Concepts et fonctionnalitésApache Cassandra - Concepts et fonctionnalités
Apache Cassandra - Concepts et fonctionnalités
Romain Hardouin3K visualizações
Panorama des offres NoSQL disponibles dans AzurePanorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans Azure
Microsoft Décideurs IT552 visualizações
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
Microsoft353 visualizações
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
Microsoft451 visualizações
DataStax Enterprise BBLDataStax Enterprise BBL
DataStax Enterprise BBL
Victor Coustenoble819 visualizações
Webinar - Enterprise Cloud DatabasesWebinar - Enterprise Cloud Databases
Webinar - Enterprise Cloud Databases
OVHcloud262 visualizações
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisation
Microsoft Technet France1.9K visualizações
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
acogoluegnes2.5K visualizações
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
Samy Dindane4.6K visualizações
DataStax Enterprise - Cas d'usageDataStax Enterprise - Cas d'usage
DataStax Enterprise - Cas d'usage
Claude-Alain Glauser6.2K visualizações
Implentation d'une solution Cloud IAASImplentation d'une solution Cloud IAAS
Implentation d'une solution Cloud IAAS
mohamed hadrich1.5K visualizações
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
Minyar Sassi Hidri4.9K visualizações
IaaS et Cloud Open Source - Raphael Ferreira, eNovanceIaaS et Cloud Open Source - Raphael Ferreira, eNovance
IaaS et Cloud Open Source - Raphael Ferreira, eNovance
Stefane Fermigier2.1K visualizações
Architecture Big Data open source S.M.A.C.KArchitecture Big Data open source S.M.A.C.K
Architecture Big Data open source S.M.A.C.K
Julien Anguenot3.3K visualizações
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
JEMLI Fathi635 visualizações

Destaque

PortfolioPortfolio
PortfolioMax Clee
243 visualizações21 slides
Probabilidad o certeza   gemelosProbabilidad o certeza   gemelos
Probabilidad o certeza gemelosJoanzapatero
526 visualizações10 slides
TuentiTuenti
TuentiLaumon
215 visualizações5 slides
La ReproduccióNLa ReproduccióN
La ReproduccióNFernando Rodriguez
514 visualizações10 slides

Destaque(20)

PortfolioPortfolio
Portfolio
Max Clee243 visualizações
Probabilidad o certeza   gemelosProbabilidad o certeza   gemelos
Probabilidad o certeza gemelos
Joanzapatero526 visualizações
TuentiTuenti
Tuenti
Laumon215 visualizações
 Caperucita Roja en versión de 3º A Caperucita Roja en versión de 3º A
Caperucita Roja en versión de 3º A
biblioteca23de09386 visualizações
Le Buzz : Booster votre image grace au web 2.0Le Buzz : Booster votre image grace au web 2.0
Le Buzz : Booster votre image grace au web 2.0
KevinDescoubes1.3K visualizações
La ReproduccióNLa ReproduccióN
La ReproduccióN
Fernando Rodriguez514 visualizações
DominiosDominios
Dominios
Homero J Simpson324 visualizações
Diagramme de constellationDiagramme de constellation
Diagramme de constellation
Canadian Patient Safety Institute3.3K visualizações
Lasmejoresfotos3Lasmejoresfotos3
Lasmejoresfotos3
gutierrez45212 visualizações
Presentación Power Point1Presentación Power Point1
Presentación Power Point1
Javier Suárez Fernández319 visualizações
Seminario   FinalSeminario   Final
Seminario Final
guestb6a537ed608 visualizações
El pensamiento sociopolítico de Antonio GramsciEl pensamiento sociopolítico de Antonio Gramsci
El pensamiento sociopolítico de Antonio Gramsci
Fernando Rodriguez509 visualizações
Mots Liste7Mots Liste7
Mots Liste7
mmebatchelor360 visualizações
¡Hola!Los¡Hola!Los
¡Hola!Los
pepitagalbus271 visualizações
La méthode zLa méthode z
La méthode z
Sid Ahmed Benkraoua3K visualizações
PeliculasPeliculas
Peliculas
Álvaro Fernández Quesada1.1K visualizações
Habilidades comunicativas para el siglo xxiHabilidades comunicativas para el siglo xxi
Habilidades comunicativas para el siglo xxi
Colegio Padre Pedro Arrupe1K visualizações
Mi Vida Durante La Primer Parte Del AñOMi Vida Durante La Primer Parte Del AñO
Mi Vida Durante La Primer Parte Del AñO
guest7bc89eb3124 visualizações
Actividades Tema 5Actividades Tema 5
Actividades Tema 5
FMiguelGS194 visualizações

Similar a Introduction à Cassandra

Couchbase Capella.pptxCouchbase Capella.pptx
Couchbase Capella.pptxSaraHmida1
74 visualizações28 slides
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
3.7K visualizações73 slides

Similar a Introduction à Cassandra(20)

NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
TelecomValley1.4K visualizações
Couchbase Capella.pptxCouchbase Capella.pptx
Couchbase Capella.pptx
SaraHmida174 visualizações
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid3.7K visualizações
BlueData EPIC datasheet (en Français)BlueData EPIC datasheet (en Français)
BlueData EPIC datasheet (en Français)
BlueData, Inc. 465 visualizações
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
Hitachi Data Systems France848 visualizações
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
Lilia Sfaxi25.9K visualizações
DataStax et Apache Cassandra pour la gestion des flux IoTDataStax et Apache Cassandra pour la gestion des flux IoT
DataStax et Apache Cassandra pour la gestion des flux IoT
Victor Coustenoble1.4K visualizações
Introduction nosqlIntroduction nosql
Introduction nosql
Ines Slimene50 visualizações
Big data architecturesBig data architectures
Big data architectures
Mariem Khalfaoui471 visualizações
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
Pierre-Marie Brunet409 visualizações
Xebicon2019   m icroservicesXebicon2019   m icroservices
Xebicon2019 m icroservices
Cédrick Lunven225 visualizações
Avenir des grilles - F. DesprezAvenir des grilles - F. Desprez
Avenir des grilles - F. Desprez
Frederic Desprez639 visualizações
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
Blandine Larbret15.5K visualizações
Google spannerGoogle spanner
Google spanner
Stéphane NOTTER55 visualizações

Introduction à Cassandra