SlideShare a Scribd company logo
@doanduyhai
Introduction to Cassandra
DuyHai DOAN, Technical Advocate
Copyright @ 2014 ParisJug. Licence CC - Creative Commons 2.0 France – Paternité
- Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique
@doanduyhai
Who Am I ?!
Duy Hai DOAN
Cassandra technical advocate
•  talks, meetups, confs
•  open-source devs (Achilles, …)
•  OSS Cassandra point of contact
☞ duy_hai.doan@datastax.com
☞ @doanduyhai 
3
@doanduyhai
Datastax!
•  Founded in April 2010 
•  We contribute a lot to Apache Cassandra™
•  400+ customers (25 of the Fortune 100), 200+ employees
•  Headquarter in San Francisco Bay area
•  EU headquarter in London, offices in France and Germany
•  Datastax Enterprise = OSS Cassandra + extra features
4
@doanduyhai
Agenda!
Architecture
•  Cluster, Replication, Consistency
Data model
•  Last Write Win (LWW), CQL basics, From SQL to CQL,
Lightweight Transaction
DSE
Use Cases
5
@doanduyhai
Cassandra history!
NoSQL database
•  created at Facebook
•  open-sourced since 2008
•  current version = 2.1
•  column-oriented ☞ distributed table
6
@doanduyhai
Cassandra 5 key facts!
Key fact 1: linear scalability
C*
C*C*
NetcoSports
3 nodes, ≈3GB
1k+ nodes, PB+
YOU
7
@doanduyhai
Cassandra 5 key facts!
Key fact 2: continuous availability (≈100% up-time)
•  resilient architecture (Dynamo)

8
@doanduyhai
Cassandra 5 key facts!
Key fact 3: multi-data centers
•  out-of-the-box (config only)
•  AWS conf for multi-region DCs 
•  GCE/CloudStack support
•  Microsoft Azure



9
@doanduyhai
Multi-DC usages!
New York (DC1)
 London (DC2)
Data-locality, disaster recovery 
n2
n3
n4
n5
n6
n7
n8
n1
n2
n3
n4n5
n1
Async
replication
10
@doanduyhai
Multi-DC usages!
Workload segregation/virtual DC
n2
n3
n4
n5
n6
n7
n8
n1
n2
n3
n4n5
n1
Production
(Live)
Analytics
(Spark/Hadoop)
Same
room
Async
replication
11
@doanduyhai
Multi-DC usages!
Prod data copy for testing/benchmarking
n2
n3
n4
n5
n6
n7
n8
n1
n2
n3n1
Use
LOCAL
consistency
My tiny test
cluster
Data copy
NEVER WRITE HERE !!!
12
@doanduyhai
Cassandra 5 key facts!
Key fact 4: operational simplicity
•  1 node = 1 process + 2 config file (main + IP)
•  deployment automation
•  OpsCenter for monitoring


13
@doanduyhai
Cassandra 5 key facts!
14
@doanduyhai
Cassandra 5 key facts!
Key fact 5: analytics combo
•  Cassandra + Spark = awesome !
•  realtime streaming/analytics/aggregation …
15
Cassandra architecture!
Cluster
Replication
Consistency
@doanduyhai
Cassandra architecture!
Cluster layer
•  Amazon DynamoDB paper
•  masterless architecture

Data-store layer
•  Google Big Table paper
•  Columns/columns family
17
@doanduyhai
Data distribution!
Random: hash of #partition → token = hash(#p)

Hash: ]-X, X]

X = huge number (264/2)

 n1
n2
n3
n4
n5
n6
n7
n8
18
@doanduyhai
Token Ranges!
A: ]0, X/8]
B: ] X/8, 2X/8]
C: ] 2X/8, 3X/8]
D: ] 3X/8, 4X/8]
E: ] 4X/8, 5X/8]
F: ] 5X/8, 6X/8]
G: ] 6X/8, 7X/8]
H: ] 7X/8, X]
n1
n2
n3
n4
n5
n6
n7
n8
A
B
C
D
E
F
G
H
19
@doanduyhai
Distributed Table!
n1
n2
n3
n4
n5
n6
n7
n8
A
B
C
D
E
F
G
H
user_id1
user_id2
user_id3
user_id4
user_id5
20
@doanduyhai
Distributed Table!
n1
n2
n3
n4
n5
n6
n7
n8
A
B
C
D
E
F
G
H
user_id1
user_id2
user_id3
user_id4
user_id5
21
@doanduyhai
Linear scalability!
n1
n2
n3
n4
n5
n6
n7
n8
n1
n2
n3 n4
n5
n6
n7
n8n9
n10
8 nodes 10 nodes
22
@doanduyhai
Failure tolerance!
Replication Factor (RF) = 3
n1
n2
n3
n4
n5
n6
n7
n8
1
2
3
{B, A, H}
{C, B, A}
{D, C, B}
A
B
C
D
E
F
G
H
23
@doanduyhai
Coordinator node!
Incoming requests (read/write)

Coordinator node handles the request
Every node can be coordinator àmasterless
n1
n2
n3
n4
n5
n6
n7
n8
1
2
3
coordinator
request
24
@doanduyhai
Consistency!
Tunable at runtime
•  ONE
•  QUORUM (strict majority w.r.t. RF)
•  ALL

Apply both to read & write


25
@doanduyhai
Consistency in action!
RF = 3, Write ONE, Read ONE
B A A
B A A
Read ONE: A
data replication in progress …
Write ONE: B
26
@doanduyhai
Consistency in action!
RF = 3, Write ONE, Read QUORUM
B A A
Write ONE: B
Read QUORUM: A
B A A
data replication in progress …
27
@doanduyhai
Consistency in action!
RF = 3, Write ONE, Read ALL
B A A
Read ALL: B
B A A
data replication in progress …
Write ONE: B
28
@doanduyhai
Consistency in action!
RF = 3, Write QUORUM, Read ONE

B B A
Write QUORUM: B
Read ONE: A
B B A
data replication in progress …
29
@doanduyhai
Consistency in action!
RF = 3, Write QUORUM, Read QUORUM
B B A
Read QUORUM: B
B B A
data replication in progress …
Write QUORUM: B
30
@doanduyhai
Consistency trade-off!
31
@doanduyhai
Consistency level!
ONE
Fast, may not read latest written value

32
@doanduyhai
Consistency level!
QUORUM
Strict majority w.r.t. Replication Factor
Good balance
33
@doanduyhai
Consistency level!
ALL
Paranoid
Slow, no high availability
34
@doanduyhai
Consistency summary!

ONERead + ONEWrite
☞ available for read/write even (N-1) replicas down


QUORUMRead + QUORUMWrite
☞ available for read/write even 1+ replica down
35
Q & R
! "!
Data model!
Last Write Win!
CQL basics!
From SQL to CQL!
Lightweight Transaction!
@doanduyhai
Cassandra Write Path!
Commit log1
. . .
1
Commit log2
Commit logn
Memory
38
@doanduyhai
Cassandra Write Path!
Memory
Commit log1
. . .
1
Commit log2
Commit logn
MemTable
Table1
MemTable
Table2
MemTable
TableN
2
. . .
39
@doanduyhai
Cassandra Write Path!
Commit log1
Commit log2
Commit logn
Table1
SSTable1
Table2 Table3
SSTable2 SSTable3
3
Memory
. . .
40
@doanduyhai
Cassandra Write Path!
Commit log1
Commit log2
Commit logn
Table1
SSTable1
Table2 Table3
SSTable2 SSTable3
Memory. . .
MemTable
Table1
MemTable
Table2
MemTable
TableN
. . .
41
@doanduyhai
Cassandra Write Path!
Commit log1
Commit log2
Commit logn
Table1
SSTable1
Table2 Table3
SSTable2 SSTable3
Memory
SSTable1
SSTable2
SSTable3
. . .
42
@doanduyhai
Last Write Win (LWW)!
jdoe
age
 name
33 John DOE
INSERT INTO users(login, name, age) VALUES(‘jdoe’, ‘John DOE’, 33);
#partition 
43
@doanduyhai
Last Write Win (LWW)!
jdoe
age (t1) name (t1)
33 John DOE
INSERT INTO users(login, name, age) VALUES(‘jdoe’, ‘John DOE’, 33);
auto-generated timestamp
.
44
@doanduyhai
Last Write Win (LWW)!
UPDATE users SET age = 34 WHERE login = ‘jdoe’;
jdoe
age (t1) name (t1)
33 John DOE
jdoe
age (t2)
34
SSTable1 SSTable2
45
@doanduyhai
Last Write Win (LWW)!
DELETE age FROM users WHERE login = ‘jdoe’;
jdoe
age (t3)
ý
tombstone
jdoe
age (t1) name (t1)
33 John DOE
jdoe
age (t2)
34
SSTable1 SSTable2 SSTable3
46
@doanduyhai
Last Write Win (LWW)!
SELECT age FROM users WHERE login = ‘jdoe’;
???
SSTable1 SSTable2 SSTable3
jdoe
age (t3)
ý
jdoe
age (t1) name (t1)
33 John DOE
jdoe
age (t2)
34
47
@doanduyhai
Last Write Win (LWW)!
SELECT age FROM users WHERE login = ‘jdoe’;
✓✕✕
SSTable1 SSTable2 SSTable3
jdoe
age (t3)
ý
jdoe
age (t1) name (t1)
33 John DOE
jdoe
age (t2)
34
48
@doanduyhai
Compaction!
SSTable1 SSTable2 SSTable3
jdoe
age (t3)
ý
jdoe
age (t1) name (t1)
33 John DOE
jdoe
age (t2)
34
New SSTable
jdoe
age (t3) name (t1)
ý John DOE
49
@doanduyhai
Historical data!
history
id
date1(t1) date2(t2) … date9(t9)
… … … …
SSTable1 SSTable2
You want to keep data history ?
•  do not use internal generated timestamp !!!
•  ☞ time-series data modeling
id
date10(t10)date11(t11) …
 …
… … … …
50
@doanduyhai
CRUD operations!

INSERT INTO users(login, name, age) VALUES(‘jdoe’, ‘John DOE’, 33);

UPDATE users SET age = 34 WHERE login = ‘jdoe’;

DELETE age FROM users WHERE login = ‘jdoe’;

SELECT age FROM users WHERE login = ‘jdoe’;
51
@doanduyhai
Simple Table!

CREATE TABLE users (

 
login text,

 
name text,

 
age int,

 
…

 
PRIMARY KEY(login));
partition key (#partition)
52
@doanduyhai
What about joins ?!
How can I join data between tables ?
How can I model 1 – N relationships ?

How to model a mailbox ?
EmailsUser
1 n
53
@doanduyhai
Clustered table (1 – N)!

CREATE TABLE mailbox (

 
login text,

 
message_id timeuuid,

 
interlocutor text,

 
message text,

 
PRIMARY KEY((login), message_id));
partition key clustering column
(sorted)
unicity
54
@doanduyhai
SSTable2
SSTable1
On disk layout
jdoe
message_id1 message_id2 … message_id104
… … … …
hsue
message_id1 message_id2 … message_id78
… … … …
jdoe
message_id105 message_id106 … message_id169
… … … …
55
@doanduyhai
Queries!
Get message by user and message_id (date)

SELECT * FROM mailbox WHERE login = jdoe 

and message_id = ‘2014-09-25 16:00:00’;
Get message by user and date interval

SELECT * FROM mailbox WHERE login = jdoe 

and message_id <= ‘2014-09-25 16:00:00’

and message_id >= ‘2014-09-20 16:00:00’;
56
@doanduyhai
Queries!
Get message by message_id only ?

SELECT * FROM mailbox WHERE message_id = ‘2014-09-25 16:00:00’;
Get message by date interval only ?

SELECT * FROM mailbox WHERE

and message_id <= ‘2014-09-25 16:00:00’

and message_id >= ‘2014-09-20 16:00:00’;
❓
❓
57
@doanduyhai
Queries!
Get message by message_id only (#partition not provided) 

SELECT * FROM mailbox WHERE message_id = ‘2014-09-25 16:00:00’;
Get message by date interval only (#partition not provided)

SELECT * FROM mailbox WHERE

and message_id <= ‘2014-09-25 16:00:00’

and message_id >= ‘2014-09-20 16:00:00’;
58
@doanduyhai
Without #partition
?
?
?
?
?
?
?
?
❓
❓
❓
❓
❓
❓
❓
❓
No #partition
☞ no token
☞ where are my data ?
59
@doanduyhai
The importance of #partition
In RDBMS, no primary key
☞ full table scan
😭
60
@doanduyhai
The importance of #partition
With Cassandra, no partition key
☞ full CLUSTER scan
😱
61
@doanduyhai
Queries!

SELECT * FROM mailbox WHERE login >= ‘hsue’ and login <= ‘jdoe’;
Get message by user range (range query on #partition)

SELECT * FROM mailbox WHERE login like ‘%doe%‘;
Get message by user pattern (non exact match on #partition)
62
@doanduyhai
WHERE clause restrictions!
All queries (INSERT/UPDATE/DELETE/SELECT) must provide #partition
Only exact match (=) on #partition, range queries (<, ≤, >, ≥) not allowed
•  ☞ full cluster scan

On clustering columns, only range queries (<, ≤, >, ≥) and exact match 

WHERE clause only possible
•  on columns defined in PRIMARY KEY
•  on indexed columns ( )
63
@doanduyhai
WHERE clause restrictions!
What if I want to perform « arbitrary » WHERE clause ?
•  search form scenario, dynamic search fields
64
@doanduyhai
WHERE clause restrictions!
What if I want to perform « arbitrary » WHERE clause ?
•  search form scenario, dynamic search fields

DO NOT RE-INVENT THE WHEEL !
☞ Apache Solr (Lucene) integration (Datastax Enterprise)
☞ Same JVM, 1-cluster-2-products (Solr & Cassandra)
65
@doanduyhai
WHERE clause restrictions!
What if I want to perform « arbitrary » WHERE clause ?
•  search form scenario, dynamic search fields

DO NOT RE-INVENT THE WHEEL !
☞ Apache Solr (Lucene) integration (Datastax Enterprise)
☞ Same JVM, 1-cluster-2-products (Solr & Cassandra)

SELECT * FROM users WHERE solr_query = ‘age:[33 TO *] AND gender:male’;


SELECT * FROM users WHERE solr_query = ‘lastname:*schwei?er’;
66
@doanduyhai
Collections & maps!

CREATE TABLE users (

 
login text,

 
name text,

 
age int,

 
friends set<text>,

 
hobbies list<text>,

 
languages map<int, text>,

 
…

 
PRIMARY KEY(login));
67
Keep the cardinality low ≈ 1000
@doanduyhai
User Defined Type (UDT)!

CREATE TABLE users (

 
login text,

 
…

 
street_number int,

 
street_name text,

 
postcode int,

 
country text,

 
…

 
PRIMARY KEY(login));
Instead of
68
@doanduyhai
User Defined Type (UDT)!

CREATE TYPE address (

 
street_number int,

 
street_name text,

 
postcode int,

 
country text);


CREATE TABLE users (

 
login text,

 
…

 
location frozen <address>,

 
…

 
PRIMARY KEY(login));
69
@doanduyhai
UDT insert!

INSERT INTO users(login,name, location) VALUES (

 
‘jdoe’, 

 
’John DOE’,

 
{
‘street_number’: 124,
‘street_name’: ‘Congress Avenue’,
‘postcode’: 95054,
‘country’: ‘USA’
});
70
@doanduyhai
UDT update!

UPDATE users set location = 

 
{
‘street_number’: 125,
‘street_name’: ‘Congress Avenue’,
‘postcode’: 95054,
‘country’: ‘USA’
}
WHERE login = jdoe;
Can be nested ☞ store documents
•  but no dynamic fields (or use map<text, blob>)
71
@doanduyhai
From SQL to CQL!
Normalized
Comment
User
1
n
CREATE TABLE comments (

article_id uuid, 

comment_id timeuuid, 

author_login text, // typical join id

content text, 

PRIMARY KEY((article_id), comment_id));
72
@doanduyhai
From SQL to CQL
1 SELECT
-  10 last comments
-  10 author_login

What to do with 10 author_login ???
Comment
User
1
n
73
@doanduyhai
From SQL to CQL
1 SELECT
-  10 last comments
-  10 author_login

What to do with 10 author_login ???
10 extra SELECT → N+1 SELECT problem !
Comment
User
1
n
74
@doanduyhai
From SQL to CQL!
De-normalized
Comment
User
1
n
CREATE TABLE comments (

article_id uuid, 

comment_id timeuuid, 

author frozen<person>, // person is UDT

content text, 

PRIMARY KEY((article_id), comment_id));
75
@doanduyhai
Data modeling best practices!
Start by queries
•  identify core functional read paths
•  1 read scenario ≈ 1 SELECT 

76
@doanduyhai
Data modeling best practices!
Start by queries
•  identify core functional read paths
•  1 read scenario ≈ 1 SELECT 

Denormalize
•  wisely, only duplicate necessary & immutable data
•  functional/technical trade-off
77
@doanduyhai
Data modeling best practices!
Person UDT
- firstname/lastname
- date of birth
- gender
- mood
- location
78
@doanduyhai
Data modeling best practices!
John DOE, male
birthdate: 21/02/1981
subscribed since 03/06/2011
☉ San Mateo, CA
’’Impossible is not John DOE’’
Full detail read from
User table on click
79
@doanduyhai
Data modeling trade-off
What if ...
•  not possible to de-normalize with immutable data ?
•  have to duplicate mutable data ? 

80
@doanduyhai
Data modeling trade-off
2 strategies
•  either accept to normalize some data (extra SELECT required)
•  or de-normalize and update everywhere upon data mutation 
81
@doanduyhai
Data modeling trade-off
2 strategies
•  either accept to normalize some data (extra SELECT required)
•  or de-normalize and update everywhere upon data mutation 

But always keep those scenarios rare (5%-10% max), focus on the 90%

82
@doanduyhai
Data modeling trade-off
2 strategies
•  either accept to normalize some data (extra SELECT required)
•  or de-normalize and update everywhere upon data mutation 

But always keep those scenarios rare (5%-10% max), focus on the 90%

Example: Twitter tweet deletion
83
Q & R
! "!
@doanduyhai
Lightweight Transaction (LWT)!
What ? ☞ make operations linearizable

Why ? ☞ solve a class of race conditions in Cassandra that
would require installing an external lock manager 
85
@doanduyhai
Lightweight Transaction (LWT)!
INSERT INTO account (id, email) 
VALUES (‘jdoe’,
‘john_doe@fiction.com’);
SELECT * FROM account
WHERE id= ‘jdoe’;
(0 rows)
SELECT * FROM account
WHERE id= ‘jdoe’;
(0 rows)
INSERT INTO account (id, email) 
VALUES (‘jdoe’, 
‘jdoe@fiction.com’);
winner
86
@doanduyhai
Lightweight Transaction (LWT)!
How ? ☞ implementing Paxos protocol on Cassandra

Syntax ? 

INSERT INTO account (id, email) VALUES (‘jdoe’, ‘john_doe@fiction.com’)

IF NOT EXISTS;


UPDATE account SET email = ‘jdoe@fiction.com’ 

IF email = ‘john_doe@fiction.com’ WHERE id=‘jdoe’;
87
@doanduyhai
Lightweight Transaction (LWT)!
Recommendations
•  insert with LWT ☞ delete must use LWT

INSERT INTO my_table … IF NOT EXISTS 

☞ DELETE FROM my_table … IF EXISTS
88
@doanduyhai
Lightweight Transaction (LWT)!
Recommendations
•  LWT expensive (4 round-trips), do not abuse
•  only for 1% – 5% use cases 
89
@doanduyhai
Lightweight Transaction (LWT)!
1
2
3
4Compare Swap / Learn
Queue-in Consensus
90
Q & R
! "!
@doanduyhai
DSE (Datastax Enterprise)!
Security
Analytics (Spark & Hadoop)
Search (Solr)
92
@doanduyhai
Use Cases!
Messaging
Collections/
Playlists
Fraud
detection
Recommendation/
Personalization
Internet of things/
Sensor data
93
Cassandra introduction @ ParisJUG
Thank You
@doanduyhai
duy_hai.doan@datastax.com
https://academy.datastax.com/

More Related Content

PDF
Cassandra nice use cases and worst anti patterns no sql-matters barcelona
PDF
Cassandra introduction 2016
PDF
Cassandra data structures and algorithms
PDF
Sasi, cassandra on the full text search ride At Voxxed Day Belgrade 2016
PDF
Big data 101 for beginners devoxxpl
PDF
Distributed algorithms for big data @ GeeCon
PDF
Fast track to getting started with DSE Max @ ING
PPTX
MongoDB and Indexes - MUG Denver - 20160329
Cassandra nice use cases and worst anti patterns no sql-matters barcelona
Cassandra introduction 2016
Cassandra data structures and algorithms
Sasi, cassandra on the full text search ride At Voxxed Day Belgrade 2016
Big data 101 for beginners devoxxpl
Distributed algorithms for big data @ GeeCon
Fast track to getting started with DSE Max @ ING
MongoDB and Indexes - MUG Denver - 20160329

What's hot (20)

PPTX
Indexing with MongoDB
PDF
Datastax day 2016 : Cassandra data modeling basics
PDF
Spark Cassandra 2016
PDF
MySQL 5.7 NF – JSON Datatype 활용
PDF
Apache Cassandra & Data Modeling
PDF
Apache cassandra in 2016
PDF
Introduction to Cassandra & Data model
PPTX
MongoDB-SESSION03
PDF
MongoDB World 2016: Deciphering .explain() Output
PDF
Cassandra 3.0 - JSON at scale - StampedeCon 2015
PDF
Cassandra and Spark, closing the gap between no sql and analytics codemotio...
PDF
Cassandra 2.1
PPTX
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
PDF
Indexing and Performance Tuning
PDF
MySQL 5.7. Tutorial - Dutch PHP Conference 2015
PDF
MySQL 5.7 Tutorial Dutch PHP Conference 2015
PPT
Yahoo Query Language
PPTX
Data Wars: The Bloody Enterprise strikes back
PDF
CQL3 in depth
PPT
Fast querying indexing for performance (4)
Indexing with MongoDB
Datastax day 2016 : Cassandra data modeling basics
Spark Cassandra 2016
MySQL 5.7 NF – JSON Datatype 활용
Apache Cassandra & Data Modeling
Apache cassandra in 2016
Introduction to Cassandra & Data model
MongoDB-SESSION03
MongoDB World 2016: Deciphering .explain() Output
Cassandra 3.0 - JSON at scale - StampedeCon 2015
Cassandra and Spark, closing the gap between no sql and analytics codemotio...
Cassandra 2.1
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Indexing and Performance Tuning
MySQL 5.7. Tutorial - Dutch PHP Conference 2015
MySQL 5.7 Tutorial Dutch PHP Conference 2015
Yahoo Query Language
Data Wars: The Bloody Enterprise strikes back
CQL3 in depth
Fast querying indexing for performance (4)
Ad

Viewers also liked (20)

PDF
Cassandra introduction mars jug
PDF
KillrChat presentation
PDF
KillrChat Data Modeling
PDF
Introduction to KillrChat
PDF
Cassandra drivers and libraries
PDF
Apache Zeppelin @DevoxxFR 2016
PDF
Cassandra introduction @ NantesJUG
PDF
Datastax day 2016 introduction to apache cassandra
PDF
Spark cassandra integration 2016
PDF
Spark cassandra integration, theory and practice
PDF
Cassandra introduction at FinishJUG
PDF
Libon cassandra summiteu2014
PDF
Data stax academy
PDF
Cassandra 3 new features @ Geecon Krakow 2016
PDF
Real time data processing with spark & cassandra @ NoSQLMatters 2015 Paris
PDF
Apache zeppelin the missing component for the big data ecosystem
PDF
Datastax enterprise presentation
PDF
Cassandra for the ops dos and donts
PDF
Sasi, cassandra on full text search ride
PDF
Cassandra introduction 2016
Cassandra introduction mars jug
KillrChat presentation
KillrChat Data Modeling
Introduction to KillrChat
Cassandra drivers and libraries
Apache Zeppelin @DevoxxFR 2016
Cassandra introduction @ NantesJUG
Datastax day 2016 introduction to apache cassandra
Spark cassandra integration 2016
Spark cassandra integration, theory and practice
Cassandra introduction at FinishJUG
Libon cassandra summiteu2014
Data stax academy
Cassandra 3 new features @ Geecon Krakow 2016
Real time data processing with spark & cassandra @ NoSQLMatters 2015 Paris
Apache zeppelin the missing component for the big data ecosystem
Datastax enterprise presentation
Cassandra for the ops dos and donts
Sasi, cassandra on full text search ride
Cassandra introduction 2016
Ad

Similar to Cassandra introduction @ ParisJUG (20)

PDF
Cassandra introduction apache con 2014 budapest
PPTX
Learning Cassandra NoSQL
PPTX
Apache Cassandra Developer Training Slide Deck
PDF
Use Your MySQL Knowledge to Become an Instant Cassandra Guru
PDF
Cassandra1.2
PDF
Big Data Grows Up - A (re)introduction to Cassandra
PPTX
Introduction to NoSQL CassandraDB
PPT
The No SQL Principles and Basic Application Of Casandra Model
PPTX
Apache Cassandra, part 1 – principles, data model
PDF
"Real-time data processing with Spark & Cassandra", jDays 2015 Speaker: "Duy-...
PDF
Introduction to cassandra 2014
PPTX
cassandra_presentation_final
PPTX
Apache Cassandra Data Modeling with Travis Price
KEY
Cassandra and Rails at LA NoSQL Meetup
PDF
Cassandra Day Atlanta 2015: Introduction to Apache Cassandra & DataStax Enter...
PDF
Cassandra Day London 2015: Introduction to Apache Cassandra and DataStax Ente...
PDF
Cassandra Day Chicago 2015: Introduction to Apache Cassandra & DataStax Enter...
PDF
Cassandra Data Modelling with CQL (OSCON 2015)
PDF
DOAN DuyHai – Cassandra: real world best use-cases and worst anti-patterns - ...
PPTX
Cassandra Community Webinar: Back to Basics with CQL3
Cassandra introduction apache con 2014 budapest
Learning Cassandra NoSQL
Apache Cassandra Developer Training Slide Deck
Use Your MySQL Knowledge to Become an Instant Cassandra Guru
Cassandra1.2
Big Data Grows Up - A (re)introduction to Cassandra
Introduction to NoSQL CassandraDB
The No SQL Principles and Basic Application Of Casandra Model
Apache Cassandra, part 1 – principles, data model
"Real-time data processing with Spark & Cassandra", jDays 2015 Speaker: "Duy-...
Introduction to cassandra 2014
cassandra_presentation_final
Apache Cassandra Data Modeling with Travis Price
Cassandra and Rails at LA NoSQL Meetup
Cassandra Day Atlanta 2015: Introduction to Apache Cassandra & DataStax Enter...
Cassandra Day London 2015: Introduction to Apache Cassandra and DataStax Ente...
Cassandra Day Chicago 2015: Introduction to Apache Cassandra & DataStax Enter...
Cassandra Data Modelling with CQL (OSCON 2015)
DOAN DuyHai – Cassandra: real world best use-cases and worst anti-patterns - ...
Cassandra Community Webinar: Back to Basics with CQL3

More from Duyhai Doan (10)

PDF
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
PDF
Le futur d'apache cassandra
PDF
Big data 101 for beginners riga dev days
PDF
Spark zeppelin-cassandra at synchrotron
PDF
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
PDF
Cassandra 3 new features 2016
PDF
Cassandra UDF and Materialized Views
PDF
Apache zeppelin, the missing component for the big data ecosystem
PDF
Spark cassandra connector.API, Best Practices and Use-Cases
PDF
Algorithmes distribues pour le big data @ DevoxxFR 2015
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
Le futur d'apache cassandra
Big data 101 for beginners riga dev days
Spark zeppelin-cassandra at synchrotron
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Cassandra 3 new features 2016
Cassandra UDF and Materialized Views
Apache zeppelin, the missing component for the big data ecosystem
Spark cassandra connector.API, Best Practices and Use-Cases
Algorithmes distribues pour le big data @ DevoxxFR 2015

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
August Patch Tuesday
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Machine Learning_overview_presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Spectroscopy.pptx food analysis technology
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Mushroom cultivation and it's methods.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Heart disease approach using modified random forest and particle swarm optimi...
August Patch Tuesday
NewMind AI Weekly Chronicles - August'25-Week II
Machine Learning_overview_presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Spectroscopy.pptx food analysis technology
A comparative study of natural language inference in Swahili using monolingua...
Getting Started with Data Integration: FME Form 101
Agricultural_Statistics_at_a_Glance_2022_0.pdf
cloud_computing_Infrastucture_as_cloud_p
Mushroom cultivation and it's methods.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Empathic Computing: Creating Shared Understanding

Cassandra introduction @ ParisJUG