SlideShare une entreprise Scribd logo
1  sur  24
Cassandra
Qui suis je?
@gerald_quintana
Zenika Lyon
Cassandra Trainer
En quelques mots
● Distribuée
● Master-less
● Scalabilité linéaire
● Tolérance aux pannes
● Performances
● Consistance réglable
● Multi-datacenter
Cas d’utilisations
Distribution
Distribution
Réplication
Elasticité
Virtual nodes
Scalabilité linéaire
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
Coordination
Multi-datacenter
Consistance
Consistance
Consistance
Consistance
Consistance
Modèle orienté colonnes
CQL
CREATE TABLE utilisateur(
id_utilisateur UUID,
login VARCHAR,
date_naissance TIMESTAMP,
roles SET<VARCHAR>,
PRIMARY KEY (id_utilisateur)
);
INSERT INTO utilisateur(id_utilisateur, login,
date_naissance, roles)
VALUES ('abc123...', 'jdoe',
'1978-04-06',{'blogger','geek'});
SELECT * FROM utilisateur
WHERE id_utilisateur='abc123...';
Modèle orienté colonnes
Map<PartitionKey, SortedMap<ColumnKey, ColumnValue>>
CQL
CREATE TABLE message(
id_utilisateur UUID,
id_message TIMEUUID,
message VARCHAR,
PRIMARY KEY (id_utilisateur, id_message)
);
INSERT INTO message(id_utilisateur, id_message, message)
VALUES ('abc123...', now(),'Vive Cassandra');
SELECT * FROM message
WHERE id_utilisateur='abc123...';
SELECT message FROM message
WHERE id_utilisateur='abc123...' AND id_message='cde456...';
Performances
● Ecriture : Append-only + Compaction
● Lecture : Modélisation, Réplication, Cache
Installation
● Pré-requis: Linux, Java, Python, NTP
● 1 seul process, 1 seul type de noeud
Cassandra et DataStax
● Apache Cassandra 2.1.6
● DataStax Community 2.1.6
+ Intégration OpsCenter Community
+ Package RPM, DEB, MSI
● DataStax Enterprise 4.7
+ Intégration Hadoop & Spark
+ Intégration SolR
+ Sécurité avancée : Kerberos, cryptage...
+ In memory
+ Support

Contenu connexe

En vedette

Endevia our art and fashion network
Endevia our art and fashion networkEndevia our art and fashion network
Endevia our art and fashion network
Endevia Pro
 
Inseec research
Inseec researchInseec research
Inseec research
Alex2010
 
Economie géneral (globale )
Economie géneral (globale )Economie géneral (globale )
Economie géneral (globale )
Taha Can
 
Dut métiers du multimédia et de l'internet
Dut métiers du multimédia et de l'internetDut métiers du multimédia et de l'internet
Dut métiers du multimédia et de l'internet
RODRIGUEZ_Elora
 
E learning cardiologie
E learning cardiologieE learning cardiologie
E learning cardiologie
DurandPaul
 

En vedette (20)

Modulo3 presencial
Modulo3 presencialModulo3 presencial
Modulo3 presencial
 
Endevia our art and fashion network
Endevia our art and fashion networkEndevia our art and fashion network
Endevia our art and fashion network
 
La publicidad en la Universidad
La publicidad en la UniversidadLa publicidad en la Universidad
La publicidad en la Universidad
 
Inseec research
Inseec researchInseec research
Inseec research
 
Dossier 2 : Agroalimentaire et commerce en ligne
Dossier 2 : Agroalimentaire et commerce en ligneDossier 2 : Agroalimentaire et commerce en ligne
Dossier 2 : Agroalimentaire et commerce en ligne
 
4B Sangle Elevatrice
4B Sangle Elevatrice4B Sangle Elevatrice
4B Sangle Elevatrice
 
Atelier sensibilisation Wikipédia à Iset Ksar Hellal
Atelier sensibilisation Wikipédia à Iset Ksar HellalAtelier sensibilisation Wikipédia à Iset Ksar Hellal
Atelier sensibilisation Wikipédia à Iset Ksar Hellal
 
Mai 68
Mai 68Mai 68
Mai 68
 
Economie géneral (globale )
Economie géneral (globale )Economie géneral (globale )
Economie géneral (globale )
 
B guilbert
B guilbertB guilbert
B guilbert
 
Recuperer un document sur le LCS
Recuperer un document sur le LCSRecuperer un document sur le LCS
Recuperer un document sur le LCS
 
Dut métiers du multimédia et de l'internet
Dut métiers du multimédia et de l'internetDut métiers du multimédia et de l'internet
Dut métiers du multimédia et de l'internet
 
Forum des Minorités
Forum des MinoritésForum des Minorités
Forum des Minorités
 
Candidatos a la jal
Candidatos a la jalCandidatos a la jal
Candidatos a la jal
 
Marco Legal Pre-Sal Brasil
Marco Legal Pre-Sal BrasilMarco Legal Pre-Sal Brasil
Marco Legal Pre-Sal Brasil
 
Reportage photo
Reportage photoReportage photo
Reportage photo
 
Les fossé des générations
Les fossé des générationsLes fossé des générations
Les fossé des générations
 
L’homme contre la machine – une nouvelle approche de la vérification en hygiè...
L’homme contre la machine – une nouvelle approche de la vérification en hygiè...L’homme contre la machine – une nouvelle approche de la vérification en hygiè...
L’homme contre la machine – une nouvelle approche de la vérification en hygiè...
 
E learning cardiologie
E learning cardiologieE learning cardiologie
E learning cardiologie
 
Presentation taxesejour.fr 2014
Presentation taxesejour.fr 2014Presentation taxesejour.fr 2014
Presentation taxesejour.fr 2014
 

Similaire à Cassandra Lyon JUG

Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
cyrilgandon
 
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCe131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
CERTyou Formation
 
Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3
davrous
 
4 ans de Duchess France : Cassandra 2.0
4 ans de Duchess France : Cassandra 2.04 ans de Duchess France : Cassandra 2.0
4 ans de Duchess France : Cassandra 2.0
Duchess France
 

Similaire à Cassandra Lyon JUG (20)

ParisJUG-2022-v0.4.pdf
ParisJUG-2022-v0.4.pdfParisJUG-2022-v0.4.pdf
ParisJUG-2022-v0.4.pdf
 
chapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdfchapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdf
 
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
Jdbc
JdbcJdbc
Jdbc
 
OOP and Design Patterns
OOP and Design PatternsOOP and Design Patterns
OOP and Design Patterns
 
OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015
 
JSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans AzureJSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans Azure
 
LyonJUG-2023-v1.0.pdf
LyonJUG-2023-v1.0.pdfLyonJUG-2023-v1.0.pdf
LyonJUG-2023-v1.0.pdf
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL Serveur
 
Lagom, reactive framework(paris jug2017)
Lagom, reactive framework(paris jug2017)Lagom, reactive framework(paris jug2017)
Lagom, reactive framework(paris jug2017)
 
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCe131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
 
Xebicon2019 m icroservices
Xebicon2019   m icroservicesXebicon2019   m icroservices
Xebicon2019 m icroservices
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénients
 
Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3
 
4 ans de Duchess France : Cassandra 2.0
4 ans de Duchess France : Cassandra 2.04 ans de Duchess France : Cassandra 2.0
4 ans de Duchess France : Cassandra 2.0
 
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
 

Cassandra Lyon JUG

Notes de l'éditeur

  1. Distribué = cluster, != si vos données tiennent dans un smartphone Masterless ~= peer to peer, décentralisée, pas d’élection de maître
  2. Grosse structures/Startup Local/International Catalogues, collections, playlist Recommandation, personnalisation Détection de fraude Messagerie Objets connectés, capteurs
  3. Distribution ou partitionning On ne configure pas un nombre de partition/shards Token: entier 128bits Plage de tokens: disjointes et contigües
  4. Les données sont distribuées de manière homogène
  5. Tolérance aux pannes Distribution de la charge Rack-awereness
  6. Adapter la taille en fonction de la charge
  7. Différent d'un master Load balancing et failover de la charge de coordination Load balancing et failover pour l’accès aux réplicas
  8. Découpage Géographique ou Logique Placement des réplicas et Facteur de réplication Cloud: Google, Amazon , CloudStack
  9. Write CL ALL Concurrence Last Write Wins
  10. Write CL ONE Hinted handoff
  11. Read CL ALL Read repair
  12. Read CL ONE
  13. En pratique One est un bon choix Consistance par requête et par datacenter
  14. Create: type composite, pas de contrainte Insert: pas de contrainte, CAS Select: pas de join/group by/like, alternatives dénormaliser, SolR, Spark SQL
  15. Ecritures disque séquentielle vs aléatoire Pas de Read-before-Write