SlideShare a Scribd company logo
www.informatik-aktuell.de
Patrick Guillebert Solutions Architect
pguillebert@datastax.com
Availability, scalability and consistency
with Cassandra
Cassandra and the CAP Theorem
In a distributed system, only 2 of these attributes can be fulfilled at a time:
Consistency, Availability, Partition tolerance
Availability, Partition tolerance is deeply built in by the design.
Consistency results programmatically and is tunable.
©2014 DataStax Confidential. Do not distribute without consent. 2
Cassandra is an AP system
Cassandra’s design goals
Massive and predictable
scaling
Always-On
Tunable consistency
Geographically distributed
Low latency
Operationally simple
2016: + User friendly
©2015 DataStax. Do not distribute without consent. 3
© 2014 DataStax Confidential. Do not distribute without consent. 4
Numbers and facts
from production deployments
Scale at Apple
Cassandra can scale from 3 to 1000+ nodes
• Footprint @ Apple
• 75,000+ nodes
• 10’s of petabytes of data
• Millions ops/second
• Largest cluster 1000+ nodes
Apple Inc.: Cassandra at Apple for Massive Scale
Video https://www.youtube.com/watch?v=Bc4ql9TDzyg
Form Cassandra Summit, USA, September 2014
Availability at Netflix
©2015 DataStax. Do not distribute without consent. 6
Consistency at ING Bank
©2015 DataStax. Do not distribute without consent. 7
https://www.youtube.com/watch?v=-sD3x8-tuDU
Scalability
Linear and predictable scaling
Need to store mode data? Add more nodes.
Need more throughput ? Add more nodes.
©2015 DataStax. Do not distribute without consent. 9
Cassandra
• Is “future proof”
• By scaling out linearly on
commodity hardware.
Partitionning
• The dataset is distributed all
nodes of the cluster
• Data subsets are called “token
ranges”
• With vnodes, a node could have
several small token ranges, 256
by default
©2015 DataStax. Do not distribute without consent. 10
Token Range
(Murmur3)
Node 1
Node 3
Node 2Node 4
- 263+ 263
The partitioner
©2015 DataStax. Do not distribute without consent. 11
"@DataSta
x"
Hash Function
97203
-2245462676723223822
7723358927203680754
• Partitioner is responsible for
calculating the token, which is
the hash of the key of the data
to store
• The token is just a number
between -2^63 and 2^63
• Partitioners:
Murmur3Partitioner (Murmur3),
RandomPartitioner (MD5)
ByteOrderedPartitioner
Data distribution within the cluster
©2015 DataStax. Do not distribute without consent. 12
Node 1
Node 3
Node 2Node 4Node 4
Partitioner
’@Datastax'
Token 91
Node 1
0100
13
Availability
Node level availability
A node failure has no impact
• No failover
• 0 downtime
• 0 data loss
• Consistent responses
©2014 DataStax Confidential. Do not distribute without consent. 14
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Parallel Writes
RF=3 CL=QUORUM
If 2 nodes out of the 3 replicas respond, the request is a success
Immediate onsistency is ensured
Node 4
Rack level availability
A rack failure has no impact on the service
©2014 DataStax Confidential. Do not distribute without consent. 15
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Write
CL=QUORUM
Immediate consistency (RF 3 / CL QUORUM)
:
Nodes are distributed across at least 3 racks
If a rack fails, a quorum of replicas remain
available in the remaining racks and the
request suceeds.
Node 4
RAC 1
RAC 2
RAC 3
RF=3 CL=QUORUM
Data Centre level availability
©2014 DataStax Confidential. Do not distribute without consent. 16
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
DC: Frankfurt
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
DC: Dublin
A DC failure has no impact on the service
Internals and practices that enable availability
©2014 DataStax Confidential. Do not distribute without consent.
• Cluster topology awareness (“NetworkTopologyStrategy”) in replication
A cluster is described as a group of data centres, containining racks, containining nodes.
This topology is used to set replicas in a “smart” fashion.
• Peer to peer architecture
All nodes are strictly equal on the read/write path, any node can be queried for any data
Seeds have a special function only in the context of node bootstrap
Failover never happens
• Trade off on consistency
Response consistency is ensured by asking a quorum of nodes to be consistent.
There is no single “master” knowing the latest write.
• Live operations
Whichever the setup is (single or multi-dc) operations can be made live, with no downtime
Single DC replication
©2014 DataStax Confidential. Do not distribute without consent.
Node 1
Node 3
Node 2Node 4
Client Driver
Node 4
Node 1
Node 2
Node 3
1-25
26-5051-75
76-0
91
91
Single Data Center
CREATE KEYSPACE demo
WITH REPLICATION = {
'class':'SimpleStrategy',
'replication_factor':3
};
Primary Range
for Token 91
Multi-DC replication
©2014 DataStax Confidential. Do not distribute without consent.
Node 1
Node 3
Node 2Node 4
Client Driver
Node 4
Node 1
Node 2
Node 3
1-13
26-38
51-63
76-88
Node 1
Node 3
Node 2Node 4
Data Center - West Rack 1
Rack 2
Node 2
Rack 1
Rack 2
91
91
91
CREATE KEYSPACE demo
WITH REPLICATION {
'class':'NetworkTopologyStrategy',
'dc-east':2,
'dc-west’:3
}
Remote
Coordinator
Primary Range
for Token 91
14-25
39-50
64-75
89-100
91
What is different from a master-slave system ?
©2014 DataStax Confidential. Do not distribute without consent.
Failovers never happens, having no master irremediable data corruption in
split brain situation can’t happen
Consistency
Consistency types
©2015 DataStax. Do not distribute without consent. 22
• Immediate consistency
The uniquely given consistency type which a relational database provide.
A read always return the last written data, whichever node is requested.
• Eventual consistency
A read will eventually return the last written data.
Depending on the node queried, responses could be different.
Cassandra offers both types of consistency, it can be tuned.
Consistency Levels
©2015 DataStax. Do not distribute without consent. 23
Consistency levels are set on each single request. It determines the number
of node which need to acknowledge a write or agree on the value of a
queried data.
Consistency types could be different depending on the table or in time.
• Common CLs: ONE, QUORUM, ALL
• Multi-DC CLs: LOCAL_ONE, LOCAL_QUORUM, LOCAL_ALL,
EACH_QUORUM
• Special CLs: ANY, SERIAL, LOCAL_SERIAL
General consistency levels
©2015 DataStax. Do not distribute without consent. 24
ONE
QUORUM
ALL
ANY
SERIAL
Multi-DC consistency levels
©2015 DataStax. Do not distribute without consent. 25
LOCAL_ONE
LOCAL_QUORUM
LOCAL_ALL
EACH_QUORUM
LOCAL_SERIAL
The rule to tune consistency
©2015 DataStax. Do not distribute without consent. 26
Immediate consistency :
CL READ + CL WRITE > REPLICATION
READ QUORUM + WRITE QUORUM
READ ONE + WRITE ALL
READ ALL + WRITE ONE
Eventual consistency
CL READ + CL WRITE <= REPLICATION
READ ONE + WRITE ONE
READ ONE + WRITE ANY
Time base conflict resolution
©2015 DataStax. Do not distribute without consent. 27
Node 1
Node 3
Node 2Node 4
Client Driver
timestamp
… 523
timestamp
… 511
timestamp
… 542
The last write wins !
Empirical verification of the rule
©2015 DataStax. Do not distribute without consent. 28
Node 1
Node 3
Node 2Node 4RF = 3
CL QUORUM WRITE
ALL COMBINATIONS
OF CL QUORUM
Use cases
Domains of use cases
©2015 DataStax. Do not distribute without consent. 30
• IoT
• Web / mobile
• Gaming
• Bank, finance
• Telecoms
Using C* for to back a global reference data service
©2015 DataStax. Do not distribute without consent. 31
Requirements
• Always on
• High throughput
• Low latency
• Multi-region replication
Little or big data 
Extending use cases with DSE
©2015 DataStax. Do not distribute without consent. 32
Thank you !

More Related Content

What's hot

Introduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyIntroduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and Consistency
Benjamin Black
 
OSCON: Building Cloud Native Apps with NATS
OSCON:  Building Cloud Native Apps with NATSOSCON:  Building Cloud Native Apps with NATS
OSCON: Building Cloud Native Apps with NATS
wallyqs
 
Distributed Task Scheduling with Akka, Kafka and Cassandra
Distributed Task Scheduling with Akka, Kafka and CassandraDistributed Task Scheduling with Akka, Kafka and Cassandra
Distributed Task Scheduling with Akka, Kafka and Cassandra
David van Geest
 
Distributed Systems Concepts
Distributed Systems ConceptsDistributed Systems Concepts
Distributed Systems Concepts
Jordan Halterman
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
DataStax Academy
 
Introduction to Cassandra and CQL for Java developers
Introduction to Cassandra and CQL for Java developersIntroduction to Cassandra and CQL for Java developers
Introduction to Cassandra and CQL for Java developers
Julien Anguenot
 
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
wallyqs
 
Distributed Systems Theory for Mere Mortals - Software Craftsmanship Turkey
Distributed Systems Theory for Mere Mortals - Software Craftsmanship TurkeyDistributed Systems Theory for Mere Mortals - Software Craftsmanship Turkey
Distributed Systems Theory for Mere Mortals - Software Craftsmanship Turkey
Ensar Basri Kahveci
 
Advanced Operations
Advanced OperationsAdvanced Operations
Advanced Operations
DataStax Academy
 
Instaclustr introduction to managing cassandra
Instaclustr introduction to managing cassandraInstaclustr introduction to managing cassandra
Instaclustr introduction to managing cassandra
Instaclustr
 
Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017
Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017
Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017
Ensar Basri Kahveci
 
Webinar: Diagnosing Apache Cassandra Problems in Production
Webinar: Diagnosing Apache Cassandra Problems in ProductionWebinar: Diagnosing Apache Cassandra Problems in Production
Webinar: Diagnosing Apache Cassandra Problems in Production
DataStax Academy
 
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATSKubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
wallyqs
 
Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016
Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016
Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016
Petr Zapletal
 
Understanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problemsUnderstanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problems
Acunu
 
Instaclustr Apache Cassandra Best Practices & Toubleshooting
Instaclustr Apache Cassandra Best Practices & ToubleshootingInstaclustr Apache Cassandra Best Practices & Toubleshooting
Instaclustr Apache Cassandra Best Practices & Toubleshooting
Instaclustr
 
OSMC 2017 | Monitoring MySQL with Prometheus and Grafana by Julien Pivotto
OSMC 2017 | Monitoring  MySQL with Prometheus and Grafana by Julien PivottoOSMC 2017 | Monitoring  MySQL with Prometheus and Grafana by Julien Pivotto
OSMC 2017 | Monitoring MySQL with Prometheus and Grafana by Julien Pivotto
NETWAYS
 
Simple Solutions for Complex Problems
Simple Solutions for Complex ProblemsSimple Solutions for Complex Problems
Simple Solutions for Complex Problems
Tyler Treat
 
The Economics of Scale: Promises and Perils of Going Distributed
The Economics of Scale: Promises and Perils of Going DistributedThe Economics of Scale: Promises and Perils of Going Distributed
The Economics of Scale: Promises and Perils of Going Distributed
Tyler Treat
 
SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3
wallyqs
 

What's hot (20)

Introduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyIntroduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and Consistency
 
OSCON: Building Cloud Native Apps with NATS
OSCON:  Building Cloud Native Apps with NATSOSCON:  Building Cloud Native Apps with NATS
OSCON: Building Cloud Native Apps with NATS
 
Distributed Task Scheduling with Akka, Kafka and Cassandra
Distributed Task Scheduling with Akka, Kafka and CassandraDistributed Task Scheduling with Akka, Kafka and Cassandra
Distributed Task Scheduling with Akka, Kafka and Cassandra
 
Distributed Systems Concepts
Distributed Systems ConceptsDistributed Systems Concepts
Distributed Systems Concepts
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
 
Introduction to Cassandra and CQL for Java developers
Introduction to Cassandra and CQL for Java developersIntroduction to Cassandra and CQL for Java developers
Introduction to Cassandra and CQL for Java developers
 
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)The Zen of High Performance Messaging with NATS (Strange Loop 2016)
The Zen of High Performance Messaging with NATS (Strange Loop 2016)
 
Distributed Systems Theory for Mere Mortals - Software Craftsmanship Turkey
Distributed Systems Theory for Mere Mortals - Software Craftsmanship TurkeyDistributed Systems Theory for Mere Mortals - Software Craftsmanship Turkey
Distributed Systems Theory for Mere Mortals - Software Craftsmanship Turkey
 
Advanced Operations
Advanced OperationsAdvanced Operations
Advanced Operations
 
Instaclustr introduction to managing cassandra
Instaclustr introduction to managing cassandraInstaclustr introduction to managing cassandra
Instaclustr introduction to managing cassandra
 
Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017
Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017
Distributed Systems Theory for Mere Mortals - Topconf Dusseldorf October 2017
 
Webinar: Diagnosing Apache Cassandra Problems in Production
Webinar: Diagnosing Apache Cassandra Problems in ProductionWebinar: Diagnosing Apache Cassandra Problems in Production
Webinar: Diagnosing Apache Cassandra Problems in Production
 
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATSKubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
KubeCon NA 2018 - NATS Deep Dive: The Evolution of NATS
 
Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016
Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016
Top Mistakes When Writing Reactive Applications - Scala by the Bay 2016
 
Understanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problemsUnderstanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problems
 
Instaclustr Apache Cassandra Best Practices & Toubleshooting
Instaclustr Apache Cassandra Best Practices & ToubleshootingInstaclustr Apache Cassandra Best Practices & Toubleshooting
Instaclustr Apache Cassandra Best Practices & Toubleshooting
 
OSMC 2017 | Monitoring MySQL with Prometheus and Grafana by Julien Pivotto
OSMC 2017 | Monitoring  MySQL with Prometheus and Grafana by Julien PivottoOSMC 2017 | Monitoring  MySQL with Prometheus and Grafana by Julien Pivotto
OSMC 2017 | Monitoring MySQL with Prometheus and Grafana by Julien Pivotto
 
Simple Solutions for Complex Problems
Simple Solutions for Complex ProblemsSimple Solutions for Complex Problems
Simple Solutions for Complex Problems
 
The Economics of Scale: Promises and Perils of Going Distributed
The Economics of Scale: Promises and Perils of Going DistributedThe Economics of Scale: Promises and Perils of Going Distributed
The Economics of Scale: Promises and Perils of Going Distributed
 
SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3SF Python Meetup - Introduction to NATS Messaging with Python3
SF Python Meetup - Introduction to NATS Messaging with Python3
 

Viewers also liked

How to export from china to ghana
How to export from china to ghanaHow to export from china to ghana
How to export from china to ghana
sandyr2015
 
Dr. mohannad barakat
Dr. mohannad barakat Dr. mohannad barakat
Dr. mohannad barakat
MariaBaring
 
Christal Sirdine cv2
Christal Sirdine cv2Christal Sirdine cv2
Christal Sirdine cv2
Christal Sirdine
 
Irnbruboards
IrnbruboardsIrnbruboards
Irnbruboards
Callumknight
 
ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2
ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2
ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2
stefano basso
 
Installing tomcat on windows 7
Installing tomcat on windows 7Installing tomcat on windows 7
Installing tomcat on windows 7
Ravi Kumar Lanke
 
Future Foundation Chairs network meeting 2013
Future Foundation Chairs network meeting 2013Future Foundation Chairs network meeting 2013
Future Foundation Chairs network meeting 2013
Sport and Recreation Alliance
 
Los animales
Los animales Los animales
Los animales
Campanilla15
 
Cricket World Cup Quiz IIITH finals
Cricket World Cup Quiz IIITH finalsCricket World Cup Quiz IIITH finals
Cricket World Cup Quiz IIITH finals
Shashank S
 
Lecture Two: Duplicates
Lecture Two: DuplicatesLecture Two: Duplicates
Lecture Two: Duplicates
hgeismar
 
Tema 17 bis
Tema 17 bisTema 17 bis
Props list
Props listProps list
Props list
GillyFerries
 
Daftar peserta
Daftar pesertaDaftar peserta
Daftar peserta
riefahmad60
 
Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...
Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...
Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...
Consorci Administració Oberta de Catalunya
 
Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...
Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...
Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...
Informatik Aktuell
 
Resumen tema 1
Resumen tema 1Resumen tema 1
Resumen tema 1
LMG286
 
Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...
Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...
Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...
Informatik Aktuell
 

Viewers also liked (17)

How to export from china to ghana
How to export from china to ghanaHow to export from china to ghana
How to export from china to ghana
 
Dr. mohannad barakat
Dr. mohannad barakat Dr. mohannad barakat
Dr. mohannad barakat
 
Christal Sirdine cv2
Christal Sirdine cv2Christal Sirdine cv2
Christal Sirdine cv2
 
Irnbruboards
IrnbruboardsIrnbruboards
Irnbruboards
 
ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2
ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2
ARTIGIANO in CASTEGGIO 29-31 maggio 2015. Ingresso omaggio per 2
 
Installing tomcat on windows 7
Installing tomcat on windows 7Installing tomcat on windows 7
Installing tomcat on windows 7
 
Future Foundation Chairs network meeting 2013
Future Foundation Chairs network meeting 2013Future Foundation Chairs network meeting 2013
Future Foundation Chairs network meeting 2013
 
Los animales
Los animales Los animales
Los animales
 
Cricket World Cup Quiz IIITH finals
Cricket World Cup Quiz IIITH finalsCricket World Cup Quiz IIITH finals
Cricket World Cup Quiz IIITH finals
 
Lecture Two: Duplicates
Lecture Two: DuplicatesLecture Two: Duplicates
Lecture Two: Duplicates
 
Tema 17 bis
Tema 17 bisTema 17 bis
Tema 17 bis
 
Props list
Props listProps list
Props list
 
Daftar peserta
Daftar pesertaDaftar peserta
Daftar peserta
 
Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...
Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...
Factura electrònica - Intervenció General Diputació de Barcelona - Jordi A. E...
 
Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...
Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...
Philipp Krenn – IT-Tage 2015 – Cloud Computing und Big Data, Platform as a Se...
 
Resumen tema 1
Resumen tema 1Resumen tema 1
Resumen tema 1
 
Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...
Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...
Stephan Hummel – IT-Tage 2015 – DB2 In-Memory - Eine Technologie nicht nur fü...
 

Similar to Patrick Guillebert – IT-Tage 2015 – Cassandra NoSQL - Architektur und Anwendungsfälle

DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...
DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...
DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...
Daniel Cohen
 
Devops kc
Devops kcDevops kc
Devops kc
Philip Thompson
 
How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)
DataStax Academy
 
Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Highly available, scalable and secure data with Cassandra and DataStax Enterp...Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Johnny Miller
 
BigData Developers MeetUp
BigData Developers MeetUpBigData Developers MeetUp
BigData Developers MeetUp
Christian Johannsen
 
Always On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on CassandraAlways On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on Cassandra
Robbie Strickland
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
Christian Johannsen
 
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Johnny Miller
 
Why Distributed Databases?
Why Distributed Databases?Why Distributed Databases?
Why Distributed Databases?
Sargun Dhillon
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Cédrick Lunven
 
Apache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda MoranApache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda Moran
Data Con LA
 
O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data
Basho Technologies
 
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
jaxLondonConference
 
Training Slides: 202 - Monitoring & Troubleshooting
Training Slides: 202 - Monitoring & TroubleshootingTraining Slides: 202 - Monitoring & Troubleshooting
Training Slides: 202 - Monitoring & Troubleshooting
Continuent
 
Distribute Storage System May-2014
Distribute Storage System May-2014Distribute Storage System May-2014
Distribute Storage System May-2014
Công Lợi Dương
 
Cassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentialsCassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentials
Julien Anguenot
 
Everything you always wanted to know about Distributed databases, at devoxx l...
Everything you always wanted to know about Distributed databases, at devoxx l...Everything you always wanted to know about Distributed databases, at devoxx l...
Everything you always wanted to know about Distributed databases, at devoxx l...
javier ramirez
 
Ntc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comNtc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.com
ULLPTT
 
Ntc 362 effective communication uopstudy.com
Ntc 362 effective communication   uopstudy.comNtc 362 effective communication   uopstudy.com
Ntc 362 effective communication uopstudy.com
ULLPTT
 

Similar to Patrick Guillebert – IT-Tage 2015 – Cassandra NoSQL - Architektur und Anwendungsfälle (20)

DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...
DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...
DataStax Enterprise & Apache Cassandra – Essentials for Financial Services – ...
 
Devops kc
Devops kcDevops kc
Devops kc
 
How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)
 
Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Highly available, scalable and secure data with Cassandra and DataStax Enterp...Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Highly available, scalable and secure data with Cassandra and DataStax Enterp...
 
BigData Developers MeetUp
BigData Developers MeetUpBigData Developers MeetUp
BigData Developers MeetUp
 
Always On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on CassandraAlways On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on Cassandra
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
 
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
 
Why Distributed Databases?
Why Distributed Databases?Why Distributed Databases?
Why Distributed Databases?
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
 
Apache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda MoranApache Cassandra and The Multi-Cloud by Amanda Moran
Apache Cassandra and The Multi-Cloud by Amanda Moran
 
O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data O'Reilly Webinar: Simplicity Scales - Big Data
O'Reilly Webinar: Simplicity Scales - Big Data
 
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
 
Training Slides: 202 - Monitoring & Troubleshooting
Training Slides: 202 - Monitoring & TroubleshootingTraining Slides: 202 - Monitoring & Troubleshooting
Training Slides: 202 - Monitoring & Troubleshooting
 
Distribute Storage System May-2014
Distribute Storage System May-2014Distribute Storage System May-2014
Distribute Storage System May-2014
 
Cassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentialsCassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentials
 
Everything you always wanted to know about Distributed databases, at devoxx l...
Everything you always wanted to know about Distributed databases, at devoxx l...Everything you always wanted to know about Distributed databases, at devoxx l...
Everything you always wanted to know about Distributed databases, at devoxx l...
 
Ntc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.comNtc 362 forecasting and strategic planning -uopstudy.com
Ntc 362 forecasting and strategic planning -uopstudy.com
 
Ntc 362 effective communication uopstudy.com
Ntc 362 effective communication   uopstudy.comNtc 362 effective communication   uopstudy.com
Ntc 362 effective communication uopstudy.com
 

Recently uploaded

Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
ToshihiroIto4
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
OECD Directorate for Financial and Enterprise Affairs
 
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussionArtificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Updated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidismUpdated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidism
Faculty of Medicine And Health Sciences
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
gpww3sf4
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
SkillCertProExams
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPointMẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
1990 Media
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
artemacademy2
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 

Recently uploaded (20)

Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
 
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussionArtificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Updated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidismUpdated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidism
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPointMẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
 

Patrick Guillebert – IT-Tage 2015 – Cassandra NoSQL - Architektur und Anwendungsfälle

  • 2. Patrick Guillebert Solutions Architect pguillebert@datastax.com Availability, scalability and consistency with Cassandra
  • 3. Cassandra and the CAP Theorem In a distributed system, only 2 of these attributes can be fulfilled at a time: Consistency, Availability, Partition tolerance Availability, Partition tolerance is deeply built in by the design. Consistency results programmatically and is tunable. ©2014 DataStax Confidential. Do not distribute without consent. 2 Cassandra is an AP system
  • 4. Cassandra’s design goals Massive and predictable scaling Always-On Tunable consistency Geographically distributed Low latency Operationally simple 2016: + User friendly ©2015 DataStax. Do not distribute without consent. 3
  • 5. © 2014 DataStax Confidential. Do not distribute without consent. 4 Numbers and facts from production deployments
  • 6. Scale at Apple Cassandra can scale from 3 to 1000+ nodes • Footprint @ Apple • 75,000+ nodes • 10’s of petabytes of data • Millions ops/second • Largest cluster 1000+ nodes Apple Inc.: Cassandra at Apple for Massive Scale Video https://www.youtube.com/watch?v=Bc4ql9TDzyg Form Cassandra Summit, USA, September 2014
  • 7. Availability at Netflix ©2015 DataStax. Do not distribute without consent. 6
  • 8. Consistency at ING Bank ©2015 DataStax. Do not distribute without consent. 7 https://www.youtube.com/watch?v=-sD3x8-tuDU
  • 10. Linear and predictable scaling Need to store mode data? Add more nodes. Need more throughput ? Add more nodes. ©2015 DataStax. Do not distribute without consent. 9 Cassandra • Is “future proof” • By scaling out linearly on commodity hardware.
  • 11. Partitionning • The dataset is distributed all nodes of the cluster • Data subsets are called “token ranges” • With vnodes, a node could have several small token ranges, 256 by default ©2015 DataStax. Do not distribute without consent. 10 Token Range (Murmur3) Node 1 Node 3 Node 2Node 4 - 263+ 263
  • 12. The partitioner ©2015 DataStax. Do not distribute without consent. 11 "@DataSta x" Hash Function 97203 -2245462676723223822 7723358927203680754 • Partitioner is responsible for calculating the token, which is the hash of the key of the data to store • The token is just a number between -2^63 and 2^63 • Partitioners: Murmur3Partitioner (Murmur3), RandomPartitioner (MD5) ByteOrderedPartitioner
  • 13. Data distribution within the cluster ©2015 DataStax. Do not distribute without consent. 12 Node 1 Node 3 Node 2Node 4Node 4 Partitioner ’@Datastax' Token 91 Node 1 0100
  • 15. Node level availability A node failure has no impact • No failover • 0 downtime • 0 data loss • Consistent responses ©2014 DataStax Confidential. Do not distribute without consent. 14 Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Parallel Writes RF=3 CL=QUORUM If 2 nodes out of the 3 replicas respond, the request is a success Immediate onsistency is ensured Node 4
  • 16. Rack level availability A rack failure has no impact on the service ©2014 DataStax Confidential. Do not distribute without consent. 15 Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Write CL=QUORUM Immediate consistency (RF 3 / CL QUORUM) : Nodes are distributed across at least 3 racks If a rack fails, a quorum of replicas remain available in the remaining racks and the request suceeds. Node 4 RAC 1 RAC 2 RAC 3 RF=3 CL=QUORUM
  • 17. Data Centre level availability ©2014 DataStax Confidential. Do not distribute without consent. 16 Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy DC: Frankfurt Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy DC: Dublin A DC failure has no impact on the service
  • 18. Internals and practices that enable availability ©2014 DataStax Confidential. Do not distribute without consent. • Cluster topology awareness (“NetworkTopologyStrategy”) in replication A cluster is described as a group of data centres, containining racks, containining nodes. This topology is used to set replicas in a “smart” fashion. • Peer to peer architecture All nodes are strictly equal on the read/write path, any node can be queried for any data Seeds have a special function only in the context of node bootstrap Failover never happens • Trade off on consistency Response consistency is ensured by asking a quorum of nodes to be consistent. There is no single “master” knowing the latest write. • Live operations Whichever the setup is (single or multi-dc) operations can be made live, with no downtime
  • 19. Single DC replication ©2014 DataStax Confidential. Do not distribute without consent. Node 1 Node 3 Node 2Node 4 Client Driver Node 4 Node 1 Node 2 Node 3 1-25 26-5051-75 76-0 91 91 Single Data Center CREATE KEYSPACE demo WITH REPLICATION = { 'class':'SimpleStrategy', 'replication_factor':3 }; Primary Range for Token 91
  • 20. Multi-DC replication ©2014 DataStax Confidential. Do not distribute without consent. Node 1 Node 3 Node 2Node 4 Client Driver Node 4 Node 1 Node 2 Node 3 1-13 26-38 51-63 76-88 Node 1 Node 3 Node 2Node 4 Data Center - West Rack 1 Rack 2 Node 2 Rack 1 Rack 2 91 91 91 CREATE KEYSPACE demo WITH REPLICATION { 'class':'NetworkTopologyStrategy', 'dc-east':2, 'dc-west’:3 } Remote Coordinator Primary Range for Token 91 14-25 39-50 64-75 89-100 91
  • 21. What is different from a master-slave system ? ©2014 DataStax Confidential. Do not distribute without consent. Failovers never happens, having no master irremediable data corruption in split brain situation can’t happen
  • 23. Consistency types ©2015 DataStax. Do not distribute without consent. 22 • Immediate consistency The uniquely given consistency type which a relational database provide. A read always return the last written data, whichever node is requested. • Eventual consistency A read will eventually return the last written data. Depending on the node queried, responses could be different. Cassandra offers both types of consistency, it can be tuned.
  • 24. Consistency Levels ©2015 DataStax. Do not distribute without consent. 23 Consistency levels are set on each single request. It determines the number of node which need to acknowledge a write or agree on the value of a queried data. Consistency types could be different depending on the table or in time. • Common CLs: ONE, QUORUM, ALL • Multi-DC CLs: LOCAL_ONE, LOCAL_QUORUM, LOCAL_ALL, EACH_QUORUM • Special CLs: ANY, SERIAL, LOCAL_SERIAL
  • 25. General consistency levels ©2015 DataStax. Do not distribute without consent. 24 ONE QUORUM ALL ANY SERIAL
  • 26. Multi-DC consistency levels ©2015 DataStax. Do not distribute without consent. 25 LOCAL_ONE LOCAL_QUORUM LOCAL_ALL EACH_QUORUM LOCAL_SERIAL
  • 27. The rule to tune consistency ©2015 DataStax. Do not distribute without consent. 26 Immediate consistency : CL READ + CL WRITE > REPLICATION READ QUORUM + WRITE QUORUM READ ONE + WRITE ALL READ ALL + WRITE ONE Eventual consistency CL READ + CL WRITE <= REPLICATION READ ONE + WRITE ONE READ ONE + WRITE ANY
  • 28. Time base conflict resolution ©2015 DataStax. Do not distribute without consent. 27 Node 1 Node 3 Node 2Node 4 Client Driver timestamp … 523 timestamp … 511 timestamp … 542 The last write wins !
  • 29. Empirical verification of the rule ©2015 DataStax. Do not distribute without consent. 28 Node 1 Node 3 Node 2Node 4RF = 3 CL QUORUM WRITE ALL COMBINATIONS OF CL QUORUM
  • 31. Domains of use cases ©2015 DataStax. Do not distribute without consent. 30 • IoT • Web / mobile • Gaming • Bank, finance • Telecoms
  • 32. Using C* for to back a global reference data service ©2015 DataStax. Do not distribute without consent. 31 Requirements • Always on • High throughput • Low latency • Multi-region replication Little or big data 
  • 33. Extending use cases with DSE ©2015 DataStax. Do not distribute without consent. 32