Cassandra Lyon JUG

24
Cassandra

Transcript of Cassandra Lyon JUG

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