Contenu connexe
Similaire à Cassandra Lyon JUG (20)
Cassandra Lyon JUG
- 3. En quelques mots
● Distribuée
● Master-less
● Scalabilité linéaire
● Tolérance aux pannes
● Performances
● Consistance réglable
● Multi-datacenter
- 19. 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...';
- 21. 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...';
- 24. 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
Notes de l'éditeur
- Distribué = cluster, != si vos données tiennent dans un smartphone
Masterless ~= peer to peer, décentralisée, pas d’élection de maître
- Grosse structures/Startup Local/International
Catalogues, collections, playlist
Recommandation, personnalisation
Détection de fraude
Messagerie
Objets connectés, capteurs
- Distribution ou partitionning
On ne configure pas un nombre de partition/shards
Token: entier 128bits
Plage de tokens: disjointes et contigües
- Les données sont distribuées de manière homogène
- Tolérance aux pannes
Distribution de la charge
Rack-awereness
- Adapter la taille en fonction de la charge
- 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
- Découpage Géographique ou Logique
Placement des réplicas et Facteur de réplication
Cloud: Google, Amazon , CloudStack
- Write CL ALL
Concurrence Last Write Wins
- Write CL ONE
Hinted handoff
- Read CL ALL
Read repair
- Read CL ONE
- En pratique One est un bon choix
Consistance par requête et par datacenter
- Create: type composite, pas de contrainte
Insert: pas de contrainte, CAS
Select: pas de join/group by/like, alternatives dénormaliser, SolR, Spark SQL
- Ecritures disque séquentielle vs aléatoire
Pas de Read-before-Write