SlideShare a Scribd company logo
Highly Available: The
Cassandra Distribution
        Model
      Sam Overton

  Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Cassandra is:
● built for scalability

● built to tolerate failure




 In this talk:
● Cassandra distribution overview

● Partitioning and placement

● Replication

● Consistency




                        Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Cassandra is:
● built for scalability

● built to tolerate failure




 In this talk:
● Cassandra distribution overview

● Partitioning and placement

● Replication

● Consistency




                        Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Overview

● High availability
● Partition tolerant

● Tunable consistency

● Scalable

● Replication

● No single point of failure




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Cassandra is:
● built for scalability

● built to tolerate failure




 In this talk:
● Cassandra distribution overview

● Partitioning and placement

● Replication

● Consistency




                        Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Partitioning and placement

Should...
● Assign data to hosts

● Have no S.P.O.F for routing clients to data

● Balance load

● Allow scaling without moving too much data




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing



                                                    (k2, v2)

                 (k1, v1)

                                                     (k3, v3)




                            Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing

● partitioner maps key to ring token
● hosts' tokens determine placement of keys

● and proportion of data assigned to each host

● each row is stored on one host

● wide rows can cause hot-spotting!




So how does it scale?

                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing



Bootstrapping a
new node




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing

Range is
transferred from old
host to new host




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing

Decommission is
the reverse process




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistent Hashing

● Tokens can be assigned manually, automatically
or randomly
● Every node has full knowledge of placement

● Client connects to any node, max 1 hop to data

● Node status is gossiped




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Partitioners

● Converts a row key (from client data) into a
token on the ring
● RandomPartitioner

● Order Preserving Partitioner




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Partitioners

Random Partitioner
● token = hash(key)

● good load balancing

● no range queries across row keys




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Partitioners

Order Preserving Partitioner
● token = key

● requires manual load balancing

● careful selection of tokens around the ring

● allows range queries across row keys




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Partitioners

● Get it right first time!
● Design data model for RP

● Custom partitioners are possible if necessary




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Cassandra is:
● built for scalability

● built to tolerate failure




 In this talk:
● Cassandra distribution overview

● Partitioning and placement

● Replication

● Consistency




                        Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Replication

● For availability
● For redundancy

● Can increase read bandwidth




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Replication

● Replication Factor (RF) is number of copies of
data
● Defined per-keyspace

● Can be changed (eg. If data becomes more/less

valuable)
● Determines how many failures can be tolerated




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Replication Strategy

● Determines how replicas are assigned for each
host
● Defined per keyspace (like RF)

● SimpleStrategy

● NetworkTopologyStrategy

● Custom strategies can be written




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


  Replication Strategy : Simple Strategy

(k1, v1)




 eg. RF=3




 (k2, v2)

                               Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Replication Strategy : Network Topology Strategy




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Replication Strategy : Network Topology Strategy
                  Multi-datacentre support




           DC1                                 DC2




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Replication Strategy : Network Topology Strategy




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Snitches

● Enables routing of requests according to node
proximity
● Used by replication strategy to determine rack

and DC membership
● Custom snitches can be written




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Simple Snitch

●Every host is in the same rack & DC with equal
proximity

RackInferringSnitch

Infers the rack & DC from IP address of host
●

123.8.2.100

    DC
         rack   host
                            Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


EC2Snitch

● DC = EC2 region
● Rack = EC2 availability zone




Property file snitch

●Rack and DC membership read from
configuration file

                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


DynamicSnitch

● Wraps each of the other snitches
● Records latency stats from read operations

● Avoids routing to slow hosts

● Configurable update intervals




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Cassandra is:
● built for scalability

● built to tolerate failure




 In this talk:
● Cassandra distribution overview

● Partitioning and placement

● Replication

● Consistency




                        Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistency

● Replication and failures/partitions cause
inconsistency
● Old versions of data can be returned




 Timestamps:
● Chosen by the client

● Can be used to avoid read-modify-write




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistency

● Cassandra allows a trade-off between partition-
tolerance and consistency

For strong consistency:
●

R+W>N
                                               1       1
●Eg. with 5 replicas
                                 1                 1       1
(RF = N = 5)
write to 3
read from 3            Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistency

● Cassandra allows a trade-off between partition-
tolerance and consistency

For strong consistency:
●
                                         write
R+W>N
                                               2       1
●Eg. with 5 replicas
                                 2                 2       1
(RF = N = 5)
write to 3
read from 3            Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistency

● Cassandra allows a trade-off between partition-
tolerance and consistency

For strong consistency:
●
                                                       read
R+W>N
                                               2        1
●Eg. with 5 replicas
                                 2                 2          1
(RF = N = 5)
write to 3
read from 3            Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Consistency Level

● ANY (only for writes)
● ONE, TWO, THREE

● QUORUM                                       (N/2 + 1)
● LOCAL QUORUM

● ALL



● Relax strong consistency for partition tolerance
● To tolerate 1 node failure with strong consistency

use RF=3 with CL=QUORUM
                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Increasing Consistency

● Read repair
● Hinted hand-off

● Anti-entropy repair




                        Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Read Repair




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Read Repair




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Read Repair




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Read Repair




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                              (k1, v1)

eg. RF=2




                                                         (k1, v1)




                      Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                               (k1, v1)

eg. RF=2




                                                          (k1, v1)


 Write (k1, v2)

                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                               (k1, v1)

eg. RF=2




                                                          (k1, v1)


 Write (k1, v2)

                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                               (k1, v1)

eg. RF=2




                                                          (k1, v1)


 Write (k1, v2)

                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                                        (k1, v1)

eg. RF=2




                                                                   (k1, v1)


 Write (k1, v2)


                                           (k1,
                       Cassandra Europe 2012      v2)
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                                       (k1, v2)

eg. RF=2




                                                                  (k1, v1)




                                          (k1,
                      Cassandra Europe 2012      v2)
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                                       (k1, v2)

eg. RF=2




                                                                  (k1, v2)




                                          (k1,
                      Cassandra Europe 2012      v2)
Highly Available: The Cassandra Distribution Model


Hinted Hand-off
                                                       (k1, v2)

eg. RF=2




                                                                  (k1, v2)




                                          (k1,
                      Cassandra Europe 2012      v2)
Highly Available: The Cassandra Distribution Model


Hinted Hand-off

● Hinted writes do not count towards the chosen
consistency level
● … except with CL=ANY which succeeds even if

all replicas are down
● Don't rely on hints: hints cannot be read!




                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Anti-entropy repair

● Manual maintenance process
● Compares all data stored on a host with the

replicas
● Differences are streamed to restore consistency

● Must be run every 10 days to ensure

tombstones are replicated



                       Cassandra Europe 2012
Highly Available: The Cassandra Distribution Model


Cassandra is:
● built for scalability

● built to tolerate failure




 In this talk:
● Cassandra distribution overview

● Partitioning and placement

● Replication

● Consistency




 fin.                   Cassandra Europe 2012

More Related Content

Similar to Cassandra EU 2012 - Highly Available: The Cassandra Distribution Model by Sam Overton

Cassandra
CassandraCassandra
Cassandra
Carbo Kuo
 
Cassandra EU 2012 - Netflix's Cassandra Architecture and Open Source Efforts
Cassandra EU 2012 - Netflix's Cassandra Architecture and Open Source EffortsCassandra EU 2012 - Netflix's Cassandra Architecture and Open Source Efforts
Cassandra EU 2012 - Netflix's Cassandra Architecture and Open Source Efforts
Acunu
 
C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...
C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...
C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...
DataStax Academy
 
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
DataStax Academy
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
Raghavendra Prabhu
 
Cassandra vs Databases
Cassandra vs Databases Cassandra vs Databases
Cassandra vs Databases
Anant Corporation
 
Apache Cassandra Lunch #64: Cassandra for .NET Developers
Apache Cassandra Lunch #64: Cassandra for .NET DevelopersApache Cassandra Lunch #64: Cassandra for .NET Developers
Apache Cassandra Lunch #64: Cassandra for .NET Developers
Anant Corporation
 
The Apache Cassandra ecosystem
The Apache Cassandra ecosystemThe Apache Cassandra ecosystem
The Apache Cassandra ecosystem
Alex Thompson
 
Введение в Apache Cassandra
Введение в Apache CassandraВведение в Apache Cassandra
Введение в Apache Cassandra
Open-IT
 
Cassandra concepts, patterns and anti-patterns
Cassandra concepts, patterns and anti-patternsCassandra concepts, patterns and anti-patterns
Cassandra concepts, patterns and anti-patterns
Dave Gardner
 
Cassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTACassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTA
Raghavendra Prabhu
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra
Knoldus Inc.
 
Cassandra vs. MongoDB
Cassandra vs. MongoDBCassandra vs. MongoDB
Cassandra vs. MongoDB
ScaleGrid.io
 
Stratio big data spain
Stratio   big data spainStratio   big data spain
Stratio big data spain
Álvaro Agea Herradón
 
Cassandra for mission critical data
Cassandra for mission critical dataCassandra for mission critical data
Cassandra for mission critical data
Oleksandr Semenov
 
New Analytics Toolbox DevNexus 2015
New Analytics Toolbox DevNexus 2015New Analytics Toolbox DevNexus 2015
New Analytics Toolbox DevNexus 2015
Robbie Strickland
 
Cassandra via-docker
Cassandra via-dockerCassandra via-docker
Cassandra via-docker
Chris Ballance
 
How Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdfHow Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdf
ScyllaDB
 
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
 
Ceph, Now and Later: Our Plan for Open Unified Cloud Storage
Ceph, Now and Later: Our Plan for Open Unified Cloud StorageCeph, Now and Later: Our Plan for Open Unified Cloud Storage
Ceph, Now and Later: Our Plan for Open Unified Cloud Storage
Sage Weil
 

Similar to Cassandra EU 2012 - Highly Available: The Cassandra Distribution Model by Sam Overton (20)

Cassandra
CassandraCassandra
Cassandra
 
Cassandra EU 2012 - Netflix's Cassandra Architecture and Open Source Efforts
Cassandra EU 2012 - Netflix's Cassandra Architecture and Open Source EffortsCassandra EU 2012 - Netflix's Cassandra Architecture and Open Source Efforts
Cassandra EU 2012 - Netflix's Cassandra Architecture and Open Source Efforts
 
C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...
C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...
C* Summit 2013: (Re)-Building the Social Grid for Global Telcos @ 1/10th the ...
 
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
 
Cassandra vs Databases
Cassandra vs Databases Cassandra vs Databases
Cassandra vs Databases
 
Apache Cassandra Lunch #64: Cassandra for .NET Developers
Apache Cassandra Lunch #64: Cassandra for .NET DevelopersApache Cassandra Lunch #64: Cassandra for .NET Developers
Apache Cassandra Lunch #64: Cassandra for .NET Developers
 
The Apache Cassandra ecosystem
The Apache Cassandra ecosystemThe Apache Cassandra ecosystem
The Apache Cassandra ecosystem
 
Введение в Apache Cassandra
Введение в Apache CassandraВведение в Apache Cassandra
Введение в Apache Cassandra
 
Cassandra concepts, patterns and anti-patterns
Cassandra concepts, patterns and anti-patternsCassandra concepts, patterns and anti-patterns
Cassandra concepts, patterns and anti-patterns
 
Cassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTACassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTA
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra
 
Cassandra vs. MongoDB
Cassandra vs. MongoDBCassandra vs. MongoDB
Cassandra vs. MongoDB
 
Stratio big data spain
Stratio   big data spainStratio   big data spain
Stratio big data spain
 
Cassandra for mission critical data
Cassandra for mission critical dataCassandra for mission critical data
Cassandra for mission critical data
 
New Analytics Toolbox DevNexus 2015
New Analytics Toolbox DevNexus 2015New Analytics Toolbox DevNexus 2015
New Analytics Toolbox DevNexus 2015
 
Cassandra via-docker
Cassandra via-dockerCassandra via-docker
Cassandra via-docker
 
How Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdfHow Optimizely (Safely) Maximizes Database Concurrency.pdf
How Optimizely (Safely) Maximizes Database Concurrency.pdf
 
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)
 
Ceph, Now and Later: Our Plan for Open Unified Cloud Storage
Ceph, Now and Later: Our Plan for Open Unified Cloud StorageCeph, Now and Later: Our Plan for Open Unified Cloud Storage
Ceph, Now and Later: Our Plan for Open Unified Cloud Storage
 

More from Acunu

Acunu and Hailo: a realtime analytics case study on Cassandra
Acunu and Hailo: a realtime analytics case study on CassandraAcunu and Hailo: a realtime analytics case study on Cassandra
Acunu and Hailo: a realtime analytics case study on Cassandra
Acunu
 
Virtual nodes: Operational Aspirin
Virtual nodes: Operational AspirinVirtual nodes: Operational Aspirin
Virtual nodes: Operational Aspirin
Acunu
 
Acunu Analytics and Cassandra at Hailo All Your Base 2013
Acunu Analytics and Cassandra at Hailo All Your Base 2013 Acunu Analytics and Cassandra at Hailo All Your Base 2013
Acunu Analytics and Cassandra at Hailo All Your Base 2013
Acunu
 
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
 
Acunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra AppsAcunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra Apps
Acunu
 
All Your Base
All Your BaseAll Your Base
All Your Base
Acunu
 
Realtime Analytics with Apache Cassandra
Realtime Analytics with Apache CassandraRealtime Analytics with Apache Cassandra
Realtime Analytics with Apache Cassandra
Acunu
 
Realtime Analytics with Apache Cassandra - JAX London
Realtime Analytics with Apache Cassandra - JAX LondonRealtime Analytics with Apache Cassandra - JAX London
Realtime Analytics with Apache Cassandra - JAX London
Acunu
 
Real-time Cassandra
Real-time CassandraReal-time Cassandra
Real-time Cassandra
Acunu
 
Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...
Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...
Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...
Acunu
 
Realtime Analytics with Cassandra
Realtime Analytics with CassandraRealtime Analytics with Cassandra
Realtime Analytics with Cassandra
Acunu
 
Acunu Analytics @ Cassandra London
Acunu Analytics @ Cassandra LondonAcunu Analytics @ Cassandra London
Acunu Analytics @ Cassandra London
Acunu
 
Exploring Big Data value for your business
Exploring Big Data value for your businessExploring Big Data value for your business
Exploring Big Data value for your business
Acunu
 
Realtime Analytics on the Twitter Firehose with Cassandra
Realtime Analytics on the Twitter Firehose with CassandraRealtime Analytics on the Twitter Firehose with Cassandra
Realtime Analytics on the Twitter Firehose with Cassandra
Acunu
 
Progressive NOSQL: Cassandra
Progressive NOSQL: CassandraProgressive NOSQL: Cassandra
Progressive NOSQL: Cassandra
Acunu
 
Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...
Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...
Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...
Acunu
 
Next Generation Cassandra
Next Generation CassandraNext Generation Cassandra
Next Generation Cassandra
Acunu
 
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Acunu
 
Cassandra EU 2012 - Storage Internals by Nicolas Favre-Felix
Cassandra EU 2012 - Storage Internals by Nicolas Favre-FelixCassandra EU 2012 - Storage Internals by Nicolas Favre-Felix
Cassandra EU 2012 - Storage Internals by Nicolas Favre-Felix
Acunu
 
Cassandra EU 2012 - Data modelling workshop by Richard Low
Cassandra EU 2012 - Data modelling workshop by Richard LowCassandra EU 2012 - Data modelling workshop by Richard Low
Cassandra EU 2012 - Data modelling workshop by Richard Low
Acunu
 

More from Acunu (20)

Acunu and Hailo: a realtime analytics case study on Cassandra
Acunu and Hailo: a realtime analytics case study on CassandraAcunu and Hailo: a realtime analytics case study on Cassandra
Acunu and Hailo: a realtime analytics case study on Cassandra
 
Virtual nodes: Operational Aspirin
Virtual nodes: Operational AspirinVirtual nodes: Operational Aspirin
Virtual nodes: Operational Aspirin
 
Acunu Analytics and Cassandra at Hailo All Your Base 2013
Acunu Analytics and Cassandra at Hailo All Your Base 2013 Acunu Analytics and Cassandra at Hailo All Your Base 2013
Acunu Analytics and Cassandra at Hailo All Your Base 2013
 
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 Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra AppsAcunu Analytics: Simpler Real-Time Cassandra Apps
Acunu Analytics: Simpler Real-Time Cassandra Apps
 
All Your Base
All Your BaseAll Your Base
All Your Base
 
Realtime Analytics with Apache Cassandra
Realtime Analytics with Apache CassandraRealtime Analytics with Apache Cassandra
Realtime Analytics with Apache Cassandra
 
Realtime Analytics with Apache Cassandra - JAX London
Realtime Analytics with Apache Cassandra - JAX LondonRealtime Analytics with Apache Cassandra - JAX London
Realtime Analytics with Apache Cassandra - JAX London
 
Real-time Cassandra
Real-time CassandraReal-time Cassandra
Real-time Cassandra
 
Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...
Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...
Realtime Analytics on the Twitter Firehose with Apache Cassandra - Denormaliz...
 
Realtime Analytics with Cassandra
Realtime Analytics with CassandraRealtime Analytics with Cassandra
Realtime Analytics with Cassandra
 
Acunu Analytics @ Cassandra London
Acunu Analytics @ Cassandra LondonAcunu Analytics @ Cassandra London
Acunu Analytics @ Cassandra London
 
Exploring Big Data value for your business
Exploring Big Data value for your businessExploring Big Data value for your business
Exploring Big Data value for your business
 
Realtime Analytics on the Twitter Firehose with Cassandra
Realtime Analytics on the Twitter Firehose with CassandraRealtime Analytics on the Twitter Firehose with Cassandra
Realtime Analytics on the Twitter Firehose with Cassandra
 
Progressive NOSQL: Cassandra
Progressive NOSQL: CassandraProgressive NOSQL: Cassandra
Progressive NOSQL: Cassandra
 
Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...
Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...
Cassandra EU 2012 - Overview of Case Studies and State of the Market by 451 R...
 
Next Generation Cassandra
Next Generation CassandraNext Generation Cassandra
Next Generation Cassandra
 
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
 
Cassandra EU 2012 - Storage Internals by Nicolas Favre-Felix
Cassandra EU 2012 - Storage Internals by Nicolas Favre-FelixCassandra EU 2012 - Storage Internals by Nicolas Favre-Felix
Cassandra EU 2012 - Storage Internals by Nicolas Favre-Felix
 
Cassandra EU 2012 - Data modelling workshop by Richard Low
Cassandra EU 2012 - Data modelling workshop by Richard LowCassandra EU 2012 - Data modelling workshop by Richard Low
Cassandra EU 2012 - Data modelling workshop by Richard Low
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

Cassandra EU 2012 - Highly Available: The Cassandra Distribution Model by Sam Overton

  • 1. Highly Available: The Cassandra Distribution Model Sam Overton Cassandra Europe 2012
  • 2. Highly Available: The Cassandra Distribution Model Cassandra is: ● built for scalability ● built to tolerate failure In this talk: ● Cassandra distribution overview ● Partitioning and placement ● Replication ● Consistency Cassandra Europe 2012
  • 3. Highly Available: The Cassandra Distribution Model Cassandra is: ● built for scalability ● built to tolerate failure In this talk: ● Cassandra distribution overview ● Partitioning and placement ● Replication ● Consistency Cassandra Europe 2012
  • 4. Highly Available: The Cassandra Distribution Model Overview ● High availability ● Partition tolerant ● Tunable consistency ● Scalable ● Replication ● No single point of failure Cassandra Europe 2012
  • 5. Highly Available: The Cassandra Distribution Model Cassandra is: ● built for scalability ● built to tolerate failure In this talk: ● Cassandra distribution overview ● Partitioning and placement ● Replication ● Consistency Cassandra Europe 2012
  • 6. Highly Available: The Cassandra Distribution Model Partitioning and placement Should... ● Assign data to hosts ● Have no S.P.O.F for routing clients to data ● Balance load ● Allow scaling without moving too much data Cassandra Europe 2012
  • 7. Highly Available: The Cassandra Distribution Model Consistent Hashing Cassandra Europe 2012
  • 8. Highly Available: The Cassandra Distribution Model Consistent Hashing (k2, v2) (k1, v1) (k3, v3) Cassandra Europe 2012
  • 9. Highly Available: The Cassandra Distribution Model Consistent Hashing ● partitioner maps key to ring token ● hosts' tokens determine placement of keys ● and proportion of data assigned to each host ● each row is stored on one host ● wide rows can cause hot-spotting! So how does it scale? Cassandra Europe 2012
  • 10. Highly Available: The Cassandra Distribution Model Consistent Hashing Cassandra Europe 2012
  • 11. Highly Available: The Cassandra Distribution Model Consistent Hashing Bootstrapping a new node Cassandra Europe 2012
  • 12. Highly Available: The Cassandra Distribution Model Consistent Hashing Range is transferred from old host to new host Cassandra Europe 2012
  • 13. Highly Available: The Cassandra Distribution Model Consistent Hashing Cassandra Europe 2012
  • 14. Highly Available: The Cassandra Distribution Model Consistent Hashing Cassandra Europe 2012
  • 15. Highly Available: The Cassandra Distribution Model Consistent Hashing Cassandra Europe 2012
  • 16. Highly Available: The Cassandra Distribution Model Consistent Hashing Decommission is the reverse process Cassandra Europe 2012
  • 17. Highly Available: The Cassandra Distribution Model Consistent Hashing Cassandra Europe 2012
  • 18. Highly Available: The Cassandra Distribution Model Consistent Hashing ● Tokens can be assigned manually, automatically or randomly ● Every node has full knowledge of placement ● Client connects to any node, max 1 hop to data ● Node status is gossiped Cassandra Europe 2012
  • 19. Highly Available: The Cassandra Distribution Model Partitioners ● Converts a row key (from client data) into a token on the ring ● RandomPartitioner ● Order Preserving Partitioner Cassandra Europe 2012
  • 20. Highly Available: The Cassandra Distribution Model Partitioners Random Partitioner ● token = hash(key) ● good load balancing ● no range queries across row keys Cassandra Europe 2012
  • 21. Highly Available: The Cassandra Distribution Model Partitioners Order Preserving Partitioner ● token = key ● requires manual load balancing ● careful selection of tokens around the ring ● allows range queries across row keys Cassandra Europe 2012
  • 22. Highly Available: The Cassandra Distribution Model Partitioners ● Get it right first time! ● Design data model for RP ● Custom partitioners are possible if necessary Cassandra Europe 2012
  • 23. Highly Available: The Cassandra Distribution Model Cassandra is: ● built for scalability ● built to tolerate failure In this talk: ● Cassandra distribution overview ● Partitioning and placement ● Replication ● Consistency Cassandra Europe 2012
  • 24. Highly Available: The Cassandra Distribution Model Replication ● For availability ● For redundancy ● Can increase read bandwidth Cassandra Europe 2012
  • 25. Highly Available: The Cassandra Distribution Model Replication ● Replication Factor (RF) is number of copies of data ● Defined per-keyspace ● Can be changed (eg. If data becomes more/less valuable) ● Determines how many failures can be tolerated Cassandra Europe 2012
  • 26. Highly Available: The Cassandra Distribution Model Replication Strategy ● Determines how replicas are assigned for each host ● Defined per keyspace (like RF) ● SimpleStrategy ● NetworkTopologyStrategy ● Custom strategies can be written Cassandra Europe 2012
  • 27. Highly Available: The Cassandra Distribution Model Replication Strategy : Simple Strategy (k1, v1) eg. RF=3 (k2, v2) Cassandra Europe 2012
  • 28. Highly Available: The Cassandra Distribution Model Replication Strategy : Network Topology Strategy Cassandra Europe 2012
  • 29. Highly Available: The Cassandra Distribution Model Replication Strategy : Network Topology Strategy Multi-datacentre support DC1 DC2 Cassandra Europe 2012
  • 30. Highly Available: The Cassandra Distribution Model Replication Strategy : Network Topology Strategy Cassandra Europe 2012
  • 31. Highly Available: The Cassandra Distribution Model Snitches ● Enables routing of requests according to node proximity ● Used by replication strategy to determine rack and DC membership ● Custom snitches can be written Cassandra Europe 2012
  • 32. Highly Available: The Cassandra Distribution Model Simple Snitch ●Every host is in the same rack & DC with equal proximity RackInferringSnitch Infers the rack & DC from IP address of host ● 123.8.2.100 DC rack host Cassandra Europe 2012
  • 33. Highly Available: The Cassandra Distribution Model EC2Snitch ● DC = EC2 region ● Rack = EC2 availability zone Property file snitch ●Rack and DC membership read from configuration file Cassandra Europe 2012
  • 34. Highly Available: The Cassandra Distribution Model DynamicSnitch ● Wraps each of the other snitches ● Records latency stats from read operations ● Avoids routing to slow hosts ● Configurable update intervals Cassandra Europe 2012
  • 35. Highly Available: The Cassandra Distribution Model Cassandra is: ● built for scalability ● built to tolerate failure In this talk: ● Cassandra distribution overview ● Partitioning and placement ● Replication ● Consistency Cassandra Europe 2012
  • 36. Highly Available: The Cassandra Distribution Model Consistency ● Replication and failures/partitions cause inconsistency ● Old versions of data can be returned Timestamps: ● Chosen by the client ● Can be used to avoid read-modify-write Cassandra Europe 2012
  • 37. Highly Available: The Cassandra Distribution Model Consistency ● Cassandra allows a trade-off between partition- tolerance and consistency For strong consistency: ● R+W>N 1 1 ●Eg. with 5 replicas 1 1 1 (RF = N = 5) write to 3 read from 3 Cassandra Europe 2012
  • 38. Highly Available: The Cassandra Distribution Model Consistency ● Cassandra allows a trade-off between partition- tolerance and consistency For strong consistency: ● write R+W>N 2 1 ●Eg. with 5 replicas 2 2 1 (RF = N = 5) write to 3 read from 3 Cassandra Europe 2012
  • 39. Highly Available: The Cassandra Distribution Model Consistency ● Cassandra allows a trade-off between partition- tolerance and consistency For strong consistency: ● read R+W>N 2 1 ●Eg. with 5 replicas 2 2 1 (RF = N = 5) write to 3 read from 3 Cassandra Europe 2012
  • 40. Highly Available: The Cassandra Distribution Model Consistency Level ● ANY (only for writes) ● ONE, TWO, THREE ● QUORUM (N/2 + 1) ● LOCAL QUORUM ● ALL ● Relax strong consistency for partition tolerance ● To tolerate 1 node failure with strong consistency use RF=3 with CL=QUORUM Cassandra Europe 2012
  • 41. Highly Available: The Cassandra Distribution Model Increasing Consistency ● Read repair ● Hinted hand-off ● Anti-entropy repair Cassandra Europe 2012
  • 42. Highly Available: The Cassandra Distribution Model Read Repair Cassandra Europe 2012
  • 43. Highly Available: The Cassandra Distribution Model Read Repair Cassandra Europe 2012
  • 44. Highly Available: The Cassandra Distribution Model Read Repair Cassandra Europe 2012
  • 45. Highly Available: The Cassandra Distribution Model Read Repair Cassandra Europe 2012
  • 46. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v1) eg. RF=2 (k1, v1) Cassandra Europe 2012
  • 47. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v1) eg. RF=2 (k1, v1) Write (k1, v2) Cassandra Europe 2012
  • 48. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v1) eg. RF=2 (k1, v1) Write (k1, v2) Cassandra Europe 2012
  • 49. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v1) eg. RF=2 (k1, v1) Write (k1, v2) Cassandra Europe 2012
  • 50. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v1) eg. RF=2 (k1, v1) Write (k1, v2) (k1, Cassandra Europe 2012 v2)
  • 51. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v2) eg. RF=2 (k1, v1) (k1, Cassandra Europe 2012 v2)
  • 52. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v2) eg. RF=2 (k1, v2) (k1, Cassandra Europe 2012 v2)
  • 53. Highly Available: The Cassandra Distribution Model Hinted Hand-off (k1, v2) eg. RF=2 (k1, v2) (k1, Cassandra Europe 2012 v2)
  • 54. Highly Available: The Cassandra Distribution Model Hinted Hand-off ● Hinted writes do not count towards the chosen consistency level ● … except with CL=ANY which succeeds even if all replicas are down ● Don't rely on hints: hints cannot be read! Cassandra Europe 2012
  • 55. Highly Available: The Cassandra Distribution Model Anti-entropy repair ● Manual maintenance process ● Compares all data stored on a host with the replicas ● Differences are streamed to restore consistency ● Must be run every 10 days to ensure tombstones are replicated Cassandra Europe 2012
  • 56. Highly Available: The Cassandra Distribution Model Cassandra is: ● built for scalability ● built to tolerate failure In this talk: ● Cassandra distribution overview ● Partitioning and placement ● Replication ● Consistency fin. Cassandra Europe 2012