SlideShare a Scribd company logo
1 of 13
Download to read offline
Oslo Cassandra Users
Data consistency workshop
Agenda:
- Eat
- Install
- Learn
- Experiment

(courtesy of xkcd.com)

alexei.bakanov@finn.no
Install

set $JAVA_HOME and $PATH
adjust machine time: no.pool.ntp.org
http://cassandra.apache.org – download and unpack f.ex. to /home/user/cassandra
conf/cassandra.yaml:
data_file_directories:
- /home/user/cassandra/data/data
commitlog_directory: /home/user/cassandra/data/commitlog
saved_caches_directory: /home/user/cassandra/data/saved_caches
seeds: "192.168.239.1"
listen_address: 192.168.239.x
rpc_address: 0.0.0.0
endpoint_snitch: GossipingPropertyFileSnitch
conf/cassandra-rackdc.properties:
dc=DCx
Run bin/cassandra
Learn

DataStax Cassandra Tutorials - Understanding data
consistency in Cassandra
http://www.youtube.com/watch?v=hKLKpqY9UrY
NappyShopper: Download

Goto https://github.com/bakaleks/nappyshopper-> release ->
nappyshopper-1.0.jar
$java -jar nappyshopper-1.0.jar
or
Double-click nappyshopper-1.0.jar if you are in Windows
NappyShoper: data model

cart created time
keyspace

column
family

username

cart number

[default@meetup2_rf3] get shoppingcarts['user66021:1381150822598:2'];
=> (name=Libero, value=60 kroner, timestamp=1381150825320000)
=> (name=Pampers, value=70 kroner, timestamp=1381150825973000)
columns
NappyShopper: GUI
Experiment 1. No replication

●

Choose keyspace with RF=1. Set Read to ONE and Write to ONE

●

Fill with Libero, checkout.

●

Unplug one node, checkout

●

Create new shoppingcarts

●

Set Write to ANY and fill with Libero. Checkout

●

Plug the node back and checkout
NB!:
–

CL.ANY – data stored just as Hinted Handoffs (couple of hours TTL)
Experiment 2. Replication. Eventual consistency

●

Choose keyspace with RF=2. Set Read to ONE and Write to ONE

●

Fill with Libero. Disconnect one node. Checkout

●

Fill with Pampers. Checkout

●

Disconnect one more node. Connect first node back. Checkout

●

Connect second node back. Checkout
Experiment 3. Strong consistency. One node down

●

Choose keyspace with RF=3. Set Read to QUORUM and Write to
QUORUM

●

Fill with Libero. Disconnect one node. Checkout

●

Fill with Pampers. Checkout

●

Disconnect one more node. Connect first node back. Checkout.

●

Disconnect first node, such that we have 2 nodes down. Checkout.
Experiment 4. Strong consistency. Two nodes down

●

Choose keyspace with RF=5. Set Read to QUORUM and Write to
QUORUM

●

Fill with Libero. Disconnect two nodes. Checkout

●

Fill with Pampers. Checkout

●

Disconnect two other nodes. Connect first two nodes node back.
Checkout.
Experiment 5. Datacenter setup. Datacenter down

●

Choose keyspace with RF=3(DC1),RF=3(DC2). Set Read to
LOCAL_QUORUM and Write to LOCAL_QUORUM

●

Fill with Libero. Disconnect one datacenter. Checkout

●

Fill with Pampers. Checkout

●

Disconnect one node. Checkout

●

Reconnect datacenters.
Experiment 6. Datacenter setup. Datacenters partitioning

●

●

●

Choose keyspace with RF=3(DC1),RF=3(DC2). Set Read to
LOCAL_QUORUM and Write to EACH_QUORUM
Fill with Libero. Disconnect one datacenter.
Checkout with the same username from a machine in another
datacenter
Final notes

●

C* Summit 2013: Eventual Consistency != Hopeful Consistency
http://www.youtube.com/watch?v=A6qzx_HE3EU

●

Datastax Java Driver 1.0.4 & 2.0.0-beta2 fails QUORUM operations
when nodes are coming back up after physical network failure
https://groups.google.com/a/lists.datastax.com/forum/#!topic/java-d
river-user/zo3yGrKbpWg

●

Astyanax 1.56.43 supports CQL3, but consistency is always ONE

More Related Content

What's hot

HBaseCon 2013: OpenTSDB at Box
HBaseCon 2013: OpenTSDB at BoxHBaseCon 2013: OpenTSDB at Box
HBaseCon 2013: OpenTSDB at BoxCloudera, Inc.
 
Troubleshooting PostgreSQL with pgCenter
Troubleshooting PostgreSQL with pgCenterTroubleshooting PostgreSQL with pgCenter
Troubleshooting PostgreSQL with pgCenterAlexey Lesovsky
 
Setting up mongo replica set
Setting up mongo replica setSetting up mongo replica set
Setting up mongo replica setSudheer Kondla
 
Installation of application server 10g in red hat 4
Installation of application server 10g in red hat 4Installation of application server 10g in red hat 4
Installation of application server 10g in red hat 4uzzzle
 
XtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithmsXtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithmsLaurynas Biveinis
 
Monitoring MySQL with OpenTSDB
Monitoring MySQL with OpenTSDBMonitoring MySQL with OpenTSDB
Monitoring MySQL with OpenTSDBGeoffrey Anderson
 
opentsdb in a real enviroment
opentsdb in a real enviromentopentsdb in a real enviroment
opentsdb in a real enviromentChen Robert
 
Object Storage with Gluster
Object Storage with GlusterObject Storage with Gluster
Object Storage with GlusterGluster.org
 
Redis as a message queue
Redis as a message queueRedis as a message queue
Redis as a message queueBrandon Lamb
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo
 
In-core compression: how to shrink your database size in several times
In-core compression: how to shrink your database size in several timesIn-core compression: how to shrink your database size in several times
In-core compression: how to shrink your database size in several timesAleksander Alekseev
 
The Magic of Hot Streaming Replication, Bruce Momjian
The Magic of Hot Streaming Replication, Bruce MomjianThe Magic of Hot Streaming Replication, Bruce Momjian
The Magic of Hot Streaming Replication, Bruce MomjianFuenteovejuna
 
Linux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLinux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLorna Mitchell
 

What's hot (20)

Haproxy - zastosowania
Haproxy - zastosowaniaHaproxy - zastosowania
Haproxy - zastosowania
 
HBaseCon 2013: OpenTSDB at Box
HBaseCon 2013: OpenTSDB at BoxHBaseCon 2013: OpenTSDB at Box
HBaseCon 2013: OpenTSDB at Box
 
Troubleshooting PostgreSQL with pgCenter
Troubleshooting PostgreSQL with pgCenterTroubleshooting PostgreSQL with pgCenter
Troubleshooting PostgreSQL with pgCenter
 
Setting up mongo replica set
Setting up mongo replica setSetting up mongo replica set
Setting up mongo replica set
 
Installation of application server 10g in red hat 4
Installation of application server 10g in red hat 4Installation of application server 10g in red hat 4
Installation of application server 10g in red hat 4
 
XtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithmsXtraDB 5.7: key performance algorithms
XtraDB 5.7: key performance algorithms
 
Monitoring MySQL with OpenTSDB
Monitoring MySQL with OpenTSDBMonitoring MySQL with OpenTSDB
Monitoring MySQL with OpenTSDB
 
opentsdb in a real enviroment
opentsdb in a real enviromentopentsdb in a real enviroment
opentsdb in a real enviroment
 
Go Replicator
Go ReplicatorGo Replicator
Go Replicator
 
Object Storage with Gluster
Object Storage with GlusterObject Storage with Gluster
Object Storage with Gluster
 
Tinydns and dnscache
Tinydns and dnscacheTinydns and dnscache
Tinydns and dnscache
 
Full Text Search in PostgreSQL
Full Text Search in PostgreSQLFull Text Search in PostgreSQL
Full Text Search in PostgreSQL
 
PostgreSQL Replication Tutorial
PostgreSQL Replication TutorialPostgreSQL Replication Tutorial
PostgreSQL Replication Tutorial
 
Redis as a message queue
Redis as a message queueRedis as a message queue
Redis as a message queue
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challenges
 
Cassandra
CassandraCassandra
Cassandra
 
In-core compression: how to shrink your database size in several times
In-core compression: how to shrink your database size in several timesIn-core compression: how to shrink your database size in several times
In-core compression: how to shrink your database size in several times
 
The Magic of Hot Streaming Replication, Bruce Momjian
The Magic of Hot Streaming Replication, Bruce MomjianThe Magic of Hot Streaming Replication, Bruce Momjian
The Magic of Hot Streaming Replication, Bruce Momjian
 
Linux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLinux-Fu for PHP Developers
Linux-Fu for PHP Developers
 
Curcumin job file
Curcumin job fileCurcumin job file
Curcumin job file
 

Viewers also liked

Perchè usare a gesic
Perchè usare a gesic Perchè usare a gesic
Perchè usare a gesic aGesic srls
 
οι πρωτες μας λεξουλες!
οι πρωτες μας λεξουλες!οι πρωτες μας λεξουλες!
οι πρωτες μας λεξουλες!elinalda
 
Texto cientifico
Texto cientifico Texto cientifico
Texto cientifico kbravoc
 
In The Spotlight Marketing Website Audits PowerPoint
In The Spotlight Marketing Website Audits PowerPointIn The Spotlight Marketing Website Audits PowerPoint
In The Spotlight Marketing Website Audits PowerPointIn The Spotlight Marketing
 
DE LA COMUNICACION MODULO 1
DE LA COMUNICACION MODULO 1DE LA COMUNICACION MODULO 1
DE LA COMUNICACION MODULO 1Ricardo Molina
 
Ejercicio 8 acabadoooooooo
Ejercicio 8 acabadooooooooEjercicio 8 acabadoooooooo
Ejercicio 8 acabadooooooooCaarliita13
 
My favourite Monster
My favourite MonsterMy favourite Monster
My favourite Monsterpaulloret12
 
Sostenibilidad en las islas del mediterraneo antonini final
Sostenibilidad en las islas del mediterraneo antonini finalSostenibilidad en las islas del mediterraneo antonini final
Sostenibilidad en las islas del mediterraneo antonini finalAlessandra Antonini
 
Jupiter atmosphere and magnetosphere exploration satellite
Jupiter atmosphere and magnetosphere exploration satelliteJupiter atmosphere and magnetosphere exploration satellite
Jupiter atmosphere and magnetosphere exploration satelliteReetam Singh
 
Употреба на бустер вентилатори во подземни рудници
Употреба на бустер вентилатори во подземни руднициУпотреба на бустер вентилатори во подземни рудници
Употреба на бустер вентилатори во подземни руднициGjorgi Vezenkovski
 
About Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4page
About Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4pageAbout Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4page
About Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4pagePrachoom Rangkasikorn
 

Viewers also liked (20)

Renacer
RenacerRenacer
Renacer
 
Metodo de Entrenamiento
Metodo de EntrenamientoMetodo de Entrenamiento
Metodo de Entrenamiento
 
Perchè usare a gesic
Perchè usare a gesic Perchè usare a gesic
Perchè usare a gesic
 
οι πρωτες μας λεξουλες!
οι πρωτες μας λεξουλες!οι πρωτες μας λεξουλες!
οι πρωτες μας λεξουλες!
 
Aspectos fundamentales
Aspectos fundamentalesAspectos fundamentales
Aspectos fundamentales
 
Texto cientifico
Texto cientifico Texto cientifico
Texto cientifico
 
In The Spotlight Marketing Website Audits PowerPoint
In The Spotlight Marketing Website Audits PowerPointIn The Spotlight Marketing Website Audits PowerPoint
In The Spotlight Marketing Website Audits PowerPoint
 
Ejercicio 8
Ejercicio 8Ejercicio 8
Ejercicio 8
 
DE LA COMUNICACION MODULO 1
DE LA COMUNICACION MODULO 1DE LA COMUNICACION MODULO 1
DE LA COMUNICACION MODULO 1
 
Prosa didáctica
Prosa didácticaProsa didáctica
Prosa didáctica
 
Ejercicio 8 acabadoooooooo
Ejercicio 8 acabadooooooooEjercicio 8 acabadoooooooo
Ejercicio 8 acabadoooooooo
 
seminario 1
seminario 1seminario 1
seminario 1
 
Adopta
AdoptaAdopta
Adopta
 
My favourite Monster
My favourite MonsterMy favourite Monster
My favourite Monster
 
Algoritmo del avion.
Algoritmo del avion.Algoritmo del avion.
Algoritmo del avion.
 
Algoritmo bombilla
Algoritmo bombillaAlgoritmo bombilla
Algoritmo bombilla
 
Sostenibilidad en las islas del mediterraneo antonini final
Sostenibilidad en las islas del mediterraneo antonini finalSostenibilidad en las islas del mediterraneo antonini final
Sostenibilidad en las islas del mediterraneo antonini final
 
Jupiter atmosphere and magnetosphere exploration satellite
Jupiter atmosphere and magnetosphere exploration satelliteJupiter atmosphere and magnetosphere exploration satellite
Jupiter atmosphere and magnetosphere exploration satellite
 
Употреба на бустер вентилатори во подземни рудници
Употреба на бустер вентилатори во подземни руднициУпотреба на бустер вентилатори во подземни рудници
Употреба на бустер вентилатори во подземни рудници
 
About Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4page
About Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4pageAbout Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4page
About Oneself+Parts of body1+ป.2+121+dltvengp2+54en p02 f26-4page
 

Similar to Data Consistency Workshop — Oslo Cassandra Users Oct 8, 2013

Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置YUCHENG HU
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleAlex Thompson
 
Percona XtraDB 集群文档
Percona XtraDB 集群文档Percona XtraDB 集群文档
Percona XtraDB 集群文档YUCHENG HU
 
The Apache Cassandra ecosystem
The Apache Cassandra ecosystemThe Apache Cassandra ecosystem
The Apache Cassandra ecosystemAlex Thompson
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinChristian Johannsen
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightScyllaDB
 
A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...
A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...
A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...DataStax
 
Scaling Cassandra for Big Data
Scaling Cassandra for Big DataScaling Cassandra for Big Data
Scaling Cassandra for Big DataDataStax Academy
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAjith Narayanan
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practiceAlexey Lesovsky
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephRongze Zhu
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in productionParis Data Engineers !
 
Scaling Up Logging and Metrics
Scaling Up Logging and MetricsScaling Up Logging and Metrics
Scaling Up Logging and MetricsRicardo Lourenço
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesMichael Klishin
 
MySQL Galera 集群
MySQL Galera 集群MySQL Galera 集群
MySQL Galera 集群YUCHENG HU
 
Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage systemArunit Gupta
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopLorin Hochstein
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabMichelle Holley
 
pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...
pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...
pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...Ontico
 

Similar to Data Consistency Workshop — Oslo Cassandra Users Oct 8, 2013 (20)

Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
 
Percona XtraDB 集群文档
Percona XtraDB 集群文档Percona XtraDB 集群文档
Percona XtraDB 集群文档
 
The Apache Cassandra ecosystem
The Apache Cassandra ecosystemThe Apache Cassandra ecosystem
The Apache Cassandra ecosystem
 
Apache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek BerlinApache Cassandra at the Geek2Geek Berlin
Apache Cassandra at the Geek2Geek Berlin
 
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at NightHow Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
How Opera Syncs Tens of Millions of Browsers and Sleeps Well at Night
 
A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...
A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...
A Detailed Look At cassandra.yaml (Edward Capriolo, The Last Pickle) | Cassan...
 
Scaling Cassandra for Big Data
Scaling Cassandra for Big DataScaling Cassandra for Big Data
Scaling Cassandra for Big Data
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practice
 
Lec7
Lec7Lec7
Lec7
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
 
Scaling Up Logging and Metrics
Scaling Up Logging and MetricsScaling Up Logging and Metrics
Scaling Up Logging and Metrics
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issuesTroubleshooting common oslo.messaging and RabbitMQ issues
Troubleshooting common oslo.messaging and RabbitMQ issues
 
MySQL Galera 集群
MySQL Galera 集群MySQL Galera 集群
MySQL Galera 集群
 
Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage system
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...
pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...
pg / shardman: шардинг в PostgreSQL на основе postgres / fdw, pg / pathman и ...
 

More from DataStax Academy

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftDataStax Academy
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseDataStax Academy
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraDataStax Academy
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsDataStax Academy
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingDataStax Academy
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackDataStax Academy
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache CassandraDataStax Academy
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready CassandraDataStax Academy
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonDataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2DataStax Academy
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First ClusterDataStax Academy
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with DseDataStax Academy
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraDataStax Academy
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseDataStax Academy
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraDataStax Academy
 

More from DataStax Academy (20)

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph Database
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart Labs
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache Cassandra
 
Coursera Cassandra Driver
Coursera Cassandra DriverCoursera Cassandra Driver
Coursera Cassandra Driver
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready Cassandra
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First Cluster
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with Dse
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache Cassandra
 
Cassandra Core Concepts
Cassandra Core ConceptsCassandra Core Concepts
Cassandra Core Concepts
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
 
Bad Habits Die Hard
Bad Habits Die Hard Bad Habits Die Hard
Bad Habits Die Hard
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache Cassandra
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Data Consistency Workshop — Oslo Cassandra Users Oct 8, 2013

  • 1. Oslo Cassandra Users Data consistency workshop Agenda: - Eat - Install - Learn - Experiment (courtesy of xkcd.com) alexei.bakanov@finn.no
  • 2. Install set $JAVA_HOME and $PATH adjust machine time: no.pool.ntp.org http://cassandra.apache.org – download and unpack f.ex. to /home/user/cassandra conf/cassandra.yaml: data_file_directories: - /home/user/cassandra/data/data commitlog_directory: /home/user/cassandra/data/commitlog saved_caches_directory: /home/user/cassandra/data/saved_caches seeds: "192.168.239.1" listen_address: 192.168.239.x rpc_address: 0.0.0.0 endpoint_snitch: GossipingPropertyFileSnitch conf/cassandra-rackdc.properties: dc=DCx Run bin/cassandra
  • 3. Learn DataStax Cassandra Tutorials - Understanding data consistency in Cassandra http://www.youtube.com/watch?v=hKLKpqY9UrY
  • 4. NappyShopper: Download Goto https://github.com/bakaleks/nappyshopper-> release -> nappyshopper-1.0.jar $java -jar nappyshopper-1.0.jar or Double-click nappyshopper-1.0.jar if you are in Windows
  • 5. NappyShoper: data model cart created time keyspace column family username cart number [default@meetup2_rf3] get shoppingcarts['user66021:1381150822598:2']; => (name=Libero, value=60 kroner, timestamp=1381150825320000) => (name=Pampers, value=70 kroner, timestamp=1381150825973000) columns
  • 7. Experiment 1. No replication ● Choose keyspace with RF=1. Set Read to ONE and Write to ONE ● Fill with Libero, checkout. ● Unplug one node, checkout ● Create new shoppingcarts ● Set Write to ANY and fill with Libero. Checkout ● Plug the node back and checkout NB!: – CL.ANY – data stored just as Hinted Handoffs (couple of hours TTL)
  • 8. Experiment 2. Replication. Eventual consistency ● Choose keyspace with RF=2. Set Read to ONE and Write to ONE ● Fill with Libero. Disconnect one node. Checkout ● Fill with Pampers. Checkout ● Disconnect one more node. Connect first node back. Checkout ● Connect second node back. Checkout
  • 9. Experiment 3. Strong consistency. One node down ● Choose keyspace with RF=3. Set Read to QUORUM and Write to QUORUM ● Fill with Libero. Disconnect one node. Checkout ● Fill with Pampers. Checkout ● Disconnect one more node. Connect first node back. Checkout. ● Disconnect first node, such that we have 2 nodes down. Checkout.
  • 10. Experiment 4. Strong consistency. Two nodes down ● Choose keyspace with RF=5. Set Read to QUORUM and Write to QUORUM ● Fill with Libero. Disconnect two nodes. Checkout ● Fill with Pampers. Checkout ● Disconnect two other nodes. Connect first two nodes node back. Checkout.
  • 11. Experiment 5. Datacenter setup. Datacenter down ● Choose keyspace with RF=3(DC1),RF=3(DC2). Set Read to LOCAL_QUORUM and Write to LOCAL_QUORUM ● Fill with Libero. Disconnect one datacenter. Checkout ● Fill with Pampers. Checkout ● Disconnect one node. Checkout ● Reconnect datacenters.
  • 12. Experiment 6. Datacenter setup. Datacenters partitioning ● ● ● Choose keyspace with RF=3(DC1),RF=3(DC2). Set Read to LOCAL_QUORUM and Write to EACH_QUORUM Fill with Libero. Disconnect one datacenter. Checkout with the same username from a machine in another datacenter
  • 13. Final notes ● C* Summit 2013: Eventual Consistency != Hopeful Consistency http://www.youtube.com/watch?v=A6qzx_HE3EU ● Datastax Java Driver 1.0.4 & 2.0.0-beta2 fails QUORUM operations when nodes are coming back up after physical network failure https://groups.google.com/a/lists.datastax.com/forum/#!topic/java-d river-user/zo3yGrKbpWg ● Astyanax 1.56.43 supports CQL3, but consistency is always ONE