SlideShare a Scribd company logo
Created for BigData Community by Dmitry Yaraev 
© 2014 Grid Dynamics 
Apache Cassandra 
When and Why
Agenda 
1. When RDBMS Becomes a Bottleneck 
2. Concepts of NoSQL Paradigm 
3. Variety of NoSQL Databases 
4. Why Apache Cassandra? 
5. Essential Use Cases of Cassandra 
6. Bad Usage Patterns 
© 2014 Grid Dynamics 
Page 1
What Is Offered by RDBMS 
● Mature technology with common standards 
● Easy migration from one engine to another 
● Data model corresponds to the real world 
● Structured Query Language (SQL) 
● ACID transactions 
© 2014 Grid Dynamics 
Page 2
Bottlenecked by RDBMS 
● Horizontal scalability 
● Schema support and migration 
● Server and maintenance cost 
© 2014 Grid Dynamics 
Page 3
NoSQL :: History 
● First mention in 1998 
● Class of distributed databases 
● Not Only SQL 
© 2014 Grid Dynamics 
Page 4
NoSQL :: Features 
● Simple schema without relations 
● Good horizontal scalability 
● Combination of two of the following: 
○ Consistency 
○ Availability 
○ Partition Tolerance 
© 2014 Grid Dynamics 
Page 5
NoSQL :: CAP Theorem 
© 2014 Grid Dynamics 
Page 6
NoSQL :: Storage Types 
© 2014 Grid Dynamics 
Page 7
© 2014 Grid Dynamics 
Questions? 
Page 8
Cassandra :: What Is It? 
● Wide-column distributed data store 
● The latest version is 2.1.2 (released this month) 
● Proved itself in production (Instagram, Spotify, 
eBay and many other big players on IT market) 
© 2014 Grid Dynamics 
Page 9
Cassandra :: Origin 
● Originally created in Facebook 
● Open-sourced in 2008 
● Apache incubator project in early 2009 
● Top level Apache project in March 2010 
© 2014 Grid Dynamics 
Page 10
Cassandra :: Features 
● High scalability 
● Tunable consistency 
● Cross-datacenter replication 
● Query language (CQL) 
● Drivers for a variety of languages 
● Lightweight transactions 
● Indexing 
© 2014 Grid Dynamics 
Page 11
Cassandra :: Data Types 
● Primitive types 
● Arbitrary bytes (blob) 
● Collections (list, map, set) 
● Tuples (tuple) 
● User defined 
© 2014 Grid Dynamics 
Page 12
Cassandra :: Data Model 
● Keyspace 
● ColumnFamily 
● Row 
● Column 
© 2014 Grid Dynamics 
Page 13
Cassandra :: Data Model 
© 2014 Grid Dynamics 
Page 14
Cassandra :: ColumnFamily 
© 2014 Grid Dynamics 
Page 15
Cassandra :: CQL3 
● SQL-like syntax 
● Three types of statements 
○ data definition statements 
○ data manipulation statements 
○ data look up statements 
● Prepared statements 
© 2014 Grid Dynamics 
Page 16
Cassandra :: Example Queries 
CREATE TABLE songs ( 
id uuid PRIMARY KEY, 
title text, 
album text, 
artist text, 
data blob 
); 
SELECT * FROM songs WHERE artist = ‘Metallica’; -- RETURNS AN ERROR 
CREATE INDEX ON songs(artist); 
SELECT * FROM songs WHERE artist = ‘Metallica’; 
© 2014 Grid Dynamics 
Page 17
Cassandra :: Data Distribution 
© 2014 Grid Dynamics 
Page 18
Cassandra :: Replication 
© 2014 Grid Dynamics 
Page 19
Cassandra :: Eventual Consistency 
© 2014 Grid Dynamics 
Page 20
Cassandra :: Tunable Consistency 
© 2014 Grid Dynamics 
Page 21
Cassandra :: Consistency Levels 
● Defines a condition for successful read/write 
operation 
● Multiple Options 
○ ONE 
○ ALL 
○ QUORUM, 
○ LOCAL_QUORUM 
○ SERIAL 
○ … 
● Can be specified per request 
© 2014 Grid Dynamics 
Page 22
Cassandra :: Consistency (Quorum) 
© 2014 Grid Dynamics 
Page 23
Cassandra :: Consistency (ONE) 
© 2014 Grid Dynamics 
Page 24
Cassandra :: Consistency (ONE) 
© 2014 Grid Dynamics 
Page 25
Cassandra :: Use Cases 
● Large data sets and simple scaling 
● Perfectly fits for semi-structured data 
● Fault tolerance (no SPoF) 
● High write throughput 
© 2014 Grid Dynamics 
Page 26
Cassandra :: Limitations 
● No good for large blobs ( > 64MB ) 
● When there are more read operations than 
writes ones and low read latency is critical 
● ACID transactions 
© 2014 Grid Dynamics 
Page 27
© 2014 Grid Dynamics 
Thanks! 
Page 28

More Related Content

What's hot

KDB+ Lite
KDB+ LiteKDB+ Lite
KDB+ Lite
Sayanosauras
 
KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)
Martin Toshev
 
Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018
Orit Wasserman
 
Austin bdug 2011_01_27_small_and_big_data
Austin bdug 2011_01_27_small_and_big_dataAustin bdug 2011_01_27_small_and_big_data
Austin bdug 2011_01_27_small_and_big_data
Alex Pinkin
 
TiDB for Big Data
TiDB for Big DataTiDB for Big Data
TiDB for Big Data
PingCAP
 
SOLR Power FTW: short version
SOLR Power FTW: short versionSOLR Power FTW: short version
SOLR Power FTW: short version
Alex Pinkin
 
The Dark Side Of Go -- Go runtime related problems in TiDB in production
The Dark Side Of Go -- Go runtime related problems in TiDB  in productionThe Dark Side Of Go -- Go runtime related problems in TiDB  in production
The Dark Side Of Go -- Go runtime related problems in TiDB in production
PingCAP
 
Nosql databases for the .net developer
Nosql databases for the .net developerNosql databases for the .net developer
Nosql databases for the .net developerJesus Rodriguez
 
Netflix Data Benchmark @ HPTS 2017
Netflix Data Benchmark @ HPTS 2017Netflix Data Benchmark @ HPTS 2017
Netflix Data Benchmark @ HPTS 2017
Ioannis Papapanagiotou
 
Cloud talk
Cloud talkCloud talk
Neo4j - Graph Database
Neo4j - Graph DatabaseNeo4j - Graph Database
Neo4j - Graph DatabaseMubashar Iqbal
 
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
Gerd König
 
Intro to NoSQL and MongoDB
 Intro to NoSQL and MongoDB Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
MongoDB
 
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Kevin Xu
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)
PingCAP
 
Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)
Ryan Blue
 
Steam Learn: An introduction to Redis
Steam Learn: An introduction to RedisSteam Learn: An introduction to Redis
Steam Learn: An introduction to Redis
inovia
 
Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019
Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019
Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019
Codemotion
 
Iceberg: a fast table format for S3
Iceberg: a fast table format for S3Iceberg: a fast table format for S3
Iceberg: a fast table format for S3
DataWorks Summit
 
Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)
Eric Evans
 

What's hot (20)

KDB+ Lite
KDB+ LiteKDB+ Lite
KDB+ Lite
 
KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)
 
Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018Cloud storage: the right way OSS EU 2018
Cloud storage: the right way OSS EU 2018
 
Austin bdug 2011_01_27_small_and_big_data
Austin bdug 2011_01_27_small_and_big_dataAustin bdug 2011_01_27_small_and_big_data
Austin bdug 2011_01_27_small_and_big_data
 
TiDB for Big Data
TiDB for Big DataTiDB for Big Data
TiDB for Big Data
 
SOLR Power FTW: short version
SOLR Power FTW: short versionSOLR Power FTW: short version
SOLR Power FTW: short version
 
The Dark Side Of Go -- Go runtime related problems in TiDB in production
The Dark Side Of Go -- Go runtime related problems in TiDB  in productionThe Dark Side Of Go -- Go runtime related problems in TiDB  in production
The Dark Side Of Go -- Go runtime related problems in TiDB in production
 
Nosql databases for the .net developer
Nosql databases for the .net developerNosql databases for the .net developer
Nosql databases for the .net developer
 
Netflix Data Benchmark @ HPTS 2017
Netflix Data Benchmark @ HPTS 2017Netflix Data Benchmark @ HPTS 2017
Netflix Data Benchmark @ HPTS 2017
 
Cloud talk
Cloud talkCloud talk
Cloud talk
 
Neo4j - Graph Database
Neo4j - Graph DatabaseNeo4j - Graph Database
Neo4j - Graph Database
 
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
shark attack on sql-on-hadoop Talk at BerlinBuzzwords 2014
 
Intro to NoSQL and MongoDB
 Intro to NoSQL and MongoDB Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
 
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)
 
Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)Iceberg: A modern table format for big data (Strata NY 2018)
Iceberg: A modern table format for big data (Strata NY 2018)
 
Steam Learn: An introduction to Redis
Steam Learn: An introduction to RedisSteam Learn: An introduction to Redis
Steam Learn: An introduction to Redis
 
Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019
Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019
Miguel Angel Fajardo - NewSQL: the magic wand of data - Codemotion Rome 2019
 
Iceberg: a fast table format for S3
Iceberg: a fast table format for S3Iceberg: a fast table format for S3
Iceberg: a fast table format for S3
 
Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)
 

Viewers also liked

Akka и реактивное программирование на JVM
Akka и реактивное программирование на JVMAkka и реактивное программирование на JVM
Akka и реактивное программирование на JVM
Open-IT
 
No typo here
No typo hereNo typo here
No typo here
Pinky To Posh
 
Visual Resume
Visual Resume Visual Resume
Visual Resume
Ricardo Martinez
 
how to get more link like sitemap?
how to get more link like sitemap?how to get more link like sitemap?
how to get more link like sitemap?
eachmall.com
 
Udine3D Forum - novembre 2015
Udine3D Forum - novembre 2015Udine3D Forum - novembre 2015
Udine3D Forum - novembre 2015
Matteo Troìa
 
αρχαϊκη τα γράμματα
αρχαϊκη  τα γράμματααρχαϊκη  τα γράμματα
αρχαϊκη τα γράμματα4444465
 
4.teoridasarlistrik01
4.teoridasarlistrik014.teoridasarlistrik01
4.teoridasarlistrik01
Rianda Ecoel
 
IRS Form 1099-MISC
IRS Form 1099-MISCIRS Form 1099-MISC
IRS Form 1099-MISC
1099fires
 
Top Social Media Trends Shaping your Marketing Efforts for 2014
Top Social Media Trends Shaping your Marketing Efforts for 2014Top Social Media Trends Shaping your Marketing Efforts for 2014
Top Social Media Trends Shaping your Marketing Efforts for 2014
SMARTe Inc.
 
GD実践ゼミ2015 Nakajima
GD実践ゼミ2015 NakajimaGD実践ゼミ2015 Nakajima
GD実践ゼミ2015 Nakajima
ShimonNakajima
 
A sustainable population essay for dynamic singapore by StudentsAssignmentHe...
A sustainable population essay for  dynamic singapore by StudentsAssignmentHe...A sustainable population essay for  dynamic singapore by StudentsAssignmentHe...
A sustainable population essay for dynamic singapore by StudentsAssignmentHe...
Students Assignment
 
Microsoft kinect
Microsoft kinectMicrosoft kinect
Microsoft kinectOpen-IT
 
Heroic immerseus
Heroic immerseusHeroic immerseus
Heroic immerseuscbcsarth
 
School Project, Physics
School Project, Physics School Project, Physics
School Project, Physics
Bhavesh Eatha
 
Evolucion tecnologica21
Evolucion tecnologica21Evolucion tecnologica21
Evolucion tecnologica21Camila Jaimes
 

Viewers also liked (20)

Akka и реактивное программирование на JVM
Akka и реактивное программирование на JVMAkka и реактивное программирование на JVM
Akka и реактивное программирование на JVM
 
No typo here
No typo hereNo typo here
No typo here
 
Mpdf (2)
Mpdf (2)Mpdf (2)
Mpdf (2)
 
Visual Resume
Visual Resume Visual Resume
Visual Resume
 
how to get more link like sitemap?
how to get more link like sitemap?how to get more link like sitemap?
how to get more link like sitemap?
 
Udine3D Forum - novembre 2015
Udine3D Forum - novembre 2015Udine3D Forum - novembre 2015
Udine3D Forum - novembre 2015
 
αρχαϊκη τα γράμματα
αρχαϊκη  τα γράμματααρχαϊκη  τα γράμματα
αρχαϊκη τα γράμματα
 
4.teoridasarlistrik01
4.teoridasarlistrik014.teoridasarlistrik01
4.teoridasarlistrik01
 
IRS Form 1099-MISC
IRS Form 1099-MISCIRS Form 1099-MISC
IRS Form 1099-MISC
 
Top Social Media Trends Shaping your Marketing Efforts for 2014
Top Social Media Trends Shaping your Marketing Efforts for 2014Top Social Media Trends Shaping your Marketing Efforts for 2014
Top Social Media Trends Shaping your Marketing Efforts for 2014
 
Mpdf (9)
Mpdf (9)Mpdf (9)
Mpdf (9)
 
GD実践ゼミ2015 Nakajima
GD実践ゼミ2015 NakajimaGD実践ゼミ2015 Nakajima
GD実践ゼミ2015 Nakajima
 
Presentatietechnieken
Presentatietechnieken Presentatietechnieken
Presentatietechnieken
 
A sustainable population essay for dynamic singapore by StudentsAssignmentHe...
A sustainable population essay for  dynamic singapore by StudentsAssignmentHe...A sustainable population essay for  dynamic singapore by StudentsAssignmentHe...
A sustainable population essay for dynamic singapore by StudentsAssignmentHe...
 
Microsoft kinect
Microsoft kinectMicrosoft kinect
Microsoft kinect
 
Heroic immerseus
Heroic immerseusHeroic immerseus
Heroic immerseus
 
Manual corel draw
Manual corel drawManual corel draw
Manual corel draw
 
School Project, Physics
School Project, Physics School Project, Physics
School Project, Physics
 
Evolucion tecnologica21
Evolucion tecnologica21Evolucion tecnologica21
Evolucion tecnologica21
 
Summerschool Heelkunde UGent 2013
Summerschool Heelkunde UGent 2013Summerschool Heelkunde UGent 2013
Summerschool Heelkunde UGent 2013
 

Similar to Введение в Apache Cassandra

Architecture et modèle de données Cassandra
Architecture et modèle de données CassandraArchitecture et modèle de données Cassandra
Architecture et modèle de données Cassandra
Claude-Alain Glauser
 
Introduction to Cassandra and datastax DSE
Introduction to Cassandra and datastax DSEIntroduction to Cassandra and datastax DSE
Introduction to Cassandra and datastax DSE
Ulises Fasoli
 
Sql vs nosql
Sql vs nosqlSql vs nosql
Sql vs nosql
Nick Verschueren
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
Eduard Tudenhoefner
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
Raghavendra Prabhu
 
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
 
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
 
Learn big data with Uber
Learn big data with Uber Learn big data with Uber
Learn big data with Uber
Mark Thebault
 
The NoSQL Ecosystem
The NoSQL Ecosystem The NoSQL Ecosystem
The NoSQL Ecosystem
yarapavan
 
HPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemHPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL Ecosystem
Adam Marcus
 
Building Next Generation Drivers: Optimizing Performance in Go and Rust
Building Next Generation Drivers: Optimizing Performance in Go and RustBuilding Next Generation Drivers: Optimizing Performance in Go and Rust
Building Next Generation Drivers: Optimizing Performance in Go and Rust
ScyllaDB
 
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Raghavendra Prabhu
 
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 2014Johnny Miller
 
Effectively deploying hadoop to the cloud
Effectively  deploying hadoop to the cloudEffectively  deploying hadoop to the cloud
Effectively deploying hadoop to the cloud
Avinash Ramineni
 
Solving Hybrid Cloud Data Replication with Apache Cassandra
Solving Hybrid Cloud Data Replication with Apache CassandraSolving Hybrid Cloud Data Replication with Apache Cassandra
Solving Hybrid Cloud Data Replication with Apache Cassandra
Aaron Ploetz
 
Performance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and CassandraPerformance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and Cassandra
Dave Bechberger
 
Cassandra NoSQL Tutorial
Cassandra NoSQL TutorialCassandra NoSQL Tutorial
Cassandra NoSQL Tutorial
Michelle Darling
 
Cassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and ChallengesCassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and Challenges
Raghavendra Prabhu
 
Introducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQLIntroducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQL
MariaDB plc
 

Similar to Введение в Apache Cassandra (20)

Architecture et modèle de données Cassandra
Architecture et modèle de données CassandraArchitecture et modèle de données Cassandra
Architecture et modèle de données Cassandra
 
Introduction to Cassandra and datastax DSE
Introduction to Cassandra and datastax DSEIntroduction to Cassandra and datastax DSE
Introduction to Cassandra and datastax DSE
 
Sql vs nosql
Sql vs nosqlSql vs nosql
Sql vs nosql
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
 
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
 
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)
 
Learn big data with Uber
Learn big data with Uber Learn big data with Uber
Learn big data with Uber
 
The NoSQL Ecosystem
The NoSQL Ecosystem The NoSQL Ecosystem
The NoSQL Ecosystem
 
HPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemHPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL Ecosystem
 
Big datainmemory pub
Big datainmemory pubBig datainmemory pub
Big datainmemory pub
 
Building Next Generation Drivers: Optimizing Performance in Go and Rust
Building Next Generation Drivers: Optimizing Performance in Go and RustBuilding Next Generation Drivers: Optimizing Performance in Go and Rust
Building Next Generation Drivers: Optimizing Performance in Go and Rust
 
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
 
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
 
Effectively deploying hadoop to the cloud
Effectively  deploying hadoop to the cloudEffectively  deploying hadoop to the cloud
Effectively deploying hadoop to the cloud
 
Solving Hybrid Cloud Data Replication with Apache Cassandra
Solving Hybrid Cloud Data Replication with Apache CassandraSolving Hybrid Cloud Data Replication with Apache Cassandra
Solving Hybrid Cloud Data Replication with Apache Cassandra
 
Performance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and CassandraPerformance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and Cassandra
 
Cassandra NoSQL Tutorial
Cassandra NoSQL TutorialCassandra NoSQL Tutorial
Cassandra NoSQL Tutorial
 
Cassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and ChallengesCassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and Challenges
 
Introducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQLIntroducing the ultimate MariaDB cloud, SkySQL
Introducing the ultimate MariaDB cloud, SkySQL
 

More from Open-IT

How to make friends python with win32 api
How to make friends python with win32 apiHow to make friends python with win32 api
How to make friends python with win32 api
Open-IT
 
Mathematical optimization and python
Mathematical optimization and pythonMathematical optimization and python
Mathematical optimization and python
Open-IT
 
Секретный доклад
Секретный докладСекретный доклад
Секретный доклад
Open-IT
 
Rust: абстракции и безопасность, совершенно бесплатно
Rust: абстракции и безопасность, совершенно бесплатноRust: абстракции и безопасность, совершенно бесплатно
Rust: абстракции и безопасность, совершенно бесплатно
Open-IT
 
λ | Lenses
λ | Lensesλ | Lenses
λ | Lenses
Open-IT
 
Cooking Cassandra
Cooking CassandraCooking Cassandra
Cooking Cassandra
Open-IT
 
Командная разработка “толстых клиентов”
Командная разработка “толстых клиентов”Командная разработка “толстых клиентов”
Командная разработка “толстых клиентов”
Open-IT
 
Fuel's current use cases, architecture and next steps
Fuel's current use cases, architecture and next stepsFuel's current use cases, architecture and next steps
Fuel's current use cases, architecture and next steps
Open-IT
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
Open-IT
 
Сам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетейСам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетейOpen-IT
 
Talkbits service architecture and deployment
Talkbits service architecture and deploymentTalkbits service architecture and deployment
Talkbits service architecture and deploymentOpen-IT
 

More from Open-IT (11)

How to make friends python with win32 api
How to make friends python with win32 apiHow to make friends python with win32 api
How to make friends python with win32 api
 
Mathematical optimization and python
Mathematical optimization and pythonMathematical optimization and python
Mathematical optimization and python
 
Секретный доклад
Секретный докладСекретный доклад
Секретный доклад
 
Rust: абстракции и безопасность, совершенно бесплатно
Rust: абстракции и безопасность, совершенно бесплатноRust: абстракции и безопасность, совершенно бесплатно
Rust: абстракции и безопасность, совершенно бесплатно
 
λ | Lenses
λ | Lensesλ | Lenses
λ | Lenses
 
Cooking Cassandra
Cooking CassandraCooking Cassandra
Cooking Cassandra
 
Командная разработка “толстых клиентов”
Командная разработка “толстых клиентов”Командная разработка “толстых клиентов”
Командная разработка “толстых клиентов”
 
Fuel's current use cases, architecture and next steps
Fuel's current use cases, architecture and next stepsFuel's current use cases, architecture and next steps
Fuel's current use cases, architecture and next steps
 
Виртуализация как инструмент разработчика
Виртуализация как инструмент разработчикаВиртуализация как инструмент разработчика
Виртуализация как инструмент разработчика
 
Сам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетейСам себе АНБ, API социальных сетей
Сам себе АНБ, API социальных сетей
 
Talkbits service architecture and deployment
Talkbits service architecture and deploymentTalkbits service architecture and deployment
Talkbits service architecture and deployment
 

Recently uploaded

Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 

Recently uploaded (20)

Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 

Введение в Apache Cassandra

  • 1. Created for BigData Community by Dmitry Yaraev © 2014 Grid Dynamics Apache Cassandra When and Why
  • 2. Agenda 1. When RDBMS Becomes a Bottleneck 2. Concepts of NoSQL Paradigm 3. Variety of NoSQL Databases 4. Why Apache Cassandra? 5. Essential Use Cases of Cassandra 6. Bad Usage Patterns © 2014 Grid Dynamics Page 1
  • 3. What Is Offered by RDBMS ● Mature technology with common standards ● Easy migration from one engine to another ● Data model corresponds to the real world ● Structured Query Language (SQL) ● ACID transactions © 2014 Grid Dynamics Page 2
  • 4. Bottlenecked by RDBMS ● Horizontal scalability ● Schema support and migration ● Server and maintenance cost © 2014 Grid Dynamics Page 3
  • 5. NoSQL :: History ● First mention in 1998 ● Class of distributed databases ● Not Only SQL © 2014 Grid Dynamics Page 4
  • 6. NoSQL :: Features ● Simple schema without relations ● Good horizontal scalability ● Combination of two of the following: ○ Consistency ○ Availability ○ Partition Tolerance © 2014 Grid Dynamics Page 5
  • 7. NoSQL :: CAP Theorem © 2014 Grid Dynamics Page 6
  • 8. NoSQL :: Storage Types © 2014 Grid Dynamics Page 7
  • 9. © 2014 Grid Dynamics Questions? Page 8
  • 10. Cassandra :: What Is It? ● Wide-column distributed data store ● The latest version is 2.1.2 (released this month) ● Proved itself in production (Instagram, Spotify, eBay and many other big players on IT market) © 2014 Grid Dynamics Page 9
  • 11. Cassandra :: Origin ● Originally created in Facebook ● Open-sourced in 2008 ● Apache incubator project in early 2009 ● Top level Apache project in March 2010 © 2014 Grid Dynamics Page 10
  • 12. Cassandra :: Features ● High scalability ● Tunable consistency ● Cross-datacenter replication ● Query language (CQL) ● Drivers for a variety of languages ● Lightweight transactions ● Indexing © 2014 Grid Dynamics Page 11
  • 13. Cassandra :: Data Types ● Primitive types ● Arbitrary bytes (blob) ● Collections (list, map, set) ● Tuples (tuple) ● User defined © 2014 Grid Dynamics Page 12
  • 14. Cassandra :: Data Model ● Keyspace ● ColumnFamily ● Row ● Column © 2014 Grid Dynamics Page 13
  • 15. Cassandra :: Data Model © 2014 Grid Dynamics Page 14
  • 16. Cassandra :: ColumnFamily © 2014 Grid Dynamics Page 15
  • 17. Cassandra :: CQL3 ● SQL-like syntax ● Three types of statements ○ data definition statements ○ data manipulation statements ○ data look up statements ● Prepared statements © 2014 Grid Dynamics Page 16
  • 18. Cassandra :: Example Queries CREATE TABLE songs ( id uuid PRIMARY KEY, title text, album text, artist text, data blob ); SELECT * FROM songs WHERE artist = ‘Metallica’; -- RETURNS AN ERROR CREATE INDEX ON songs(artist); SELECT * FROM songs WHERE artist = ‘Metallica’; © 2014 Grid Dynamics Page 17
  • 19. Cassandra :: Data Distribution © 2014 Grid Dynamics Page 18
  • 20. Cassandra :: Replication © 2014 Grid Dynamics Page 19
  • 21. Cassandra :: Eventual Consistency © 2014 Grid Dynamics Page 20
  • 22. Cassandra :: Tunable Consistency © 2014 Grid Dynamics Page 21
  • 23. Cassandra :: Consistency Levels ● Defines a condition for successful read/write operation ● Multiple Options ○ ONE ○ ALL ○ QUORUM, ○ LOCAL_QUORUM ○ SERIAL ○ … ● Can be specified per request © 2014 Grid Dynamics Page 22
  • 24. Cassandra :: Consistency (Quorum) © 2014 Grid Dynamics Page 23
  • 25. Cassandra :: Consistency (ONE) © 2014 Grid Dynamics Page 24
  • 26. Cassandra :: Consistency (ONE) © 2014 Grid Dynamics Page 25
  • 27. Cassandra :: Use Cases ● Large data sets and simple scaling ● Perfectly fits for semi-structured data ● Fault tolerance (no SPoF) ● High write throughput © 2014 Grid Dynamics Page 26
  • 28. Cassandra :: Limitations ● No good for large blobs ( > 64MB ) ● When there are more read operations than writes ones and low read latency is critical ● ACID transactions © 2014 Grid Dynamics Page 27
  • 29. © 2014 Grid Dynamics Thanks! Page 28