SlideShare a Scribd company logo
DataStax EMEA
Apache Cassandra and DataStax Enterprise
Agenda
2
1.Introduction
2.Apache Cassandra
3.Cassandra Query Language
4.Internet of Things / Data Modeling
5.DataStax Enterprise
6.What´s New
About me
3
Christian Johannsen
Solutions Engineer @ DataStax
@cjohannsen81
Introduction
A short introduction into the NoSQL Space
4
CAP Theorem
5
• In distributed systems, consistency, availability and
partition tolerance in a mutually dependent relationship
• Enhancing any two of these will dimmish the third
Apache Cassandra
6
What is Apache Cassandra
7
• Apache Cassandra is a massively scalable and available NoSQL
database.
• Cassandra is designed to handle big data workloads across multiple
data center, with no single point of failure, providing enterprise
performance
Dynamo
BigTable
BigTable: http://research.google.com/archive/bigtable-osdi06.pdf
Dynamo: http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
What is Apache Cassandra
8
• Masterless Architecture with read/write anywhere design
• Continuous Availability with no single point of failure
• Multi-Data Center and Zone support
• Flexible data model for unstructured, semi-structured and structured data
• Linear scalable performance with online expansion (scale-out and scale-up)
• Security with integrated authentication
• Operationally simple
• CQL - Cassandra Query Language
100,000
txns/sec
200,000
txns/sec
400,000
txns/sec
Cassandra Adoption
9
Source: db-engines.com, Feb. 2014
Apache Cassandra - Important
10
• Cluster - A ring of Cassandra nodes
• Node - A Cassandra instance
• Replication-Factor (RF) - How many copies of your data?
• Replication-Strategy - SimpleStrategy vs. NetworkTopologyStrategy
• Consistency-Level (CL) - What Consistency should be ensured for
read/writes?
• Partitioner - Decides which node store which rows (Murmur3Partinioner
as default)
• Tokens - Hash values assigned to nodes
Follow-Up: http://planetcassandra.org/blog/introduction-to-cassandra-clusters/
• Client reads or writes to any node
• Node coordinates with others (gossip
protocol)
• Data read or replicated in parallel
• RF = 3 in this example
• Each node is strong 60% of the clusters
Data i.e. 3/5
Cassandra - Locally Distributed
11
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Node 2
2nd copy
Cassandra - Rack/Zone aware
12
Node 1
1st copy
Node 4
Node 2
Node 3
2nd copy
Rack 1
Rack 2Rack 2
Rack 3
Rack 1
Node 5
3rd copy
• Cassandra is aware of which rack or
zone each node resides in
• It will attempt to place each data copy in
a different rack
• RF=3 in this example
Cassandra - DC/Region aware
13
• Active Everywhere – reads/writes in multiple data centres
• Client writes local
• Data syncs across WAN
• Replication Factor per DC
• Different number of nodes per
data center
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
DC: EUROPEDC: USA
Cassandra - Tuneable Consistency
14
• Consistency Level (CL)
• Client specifies per operation
• Handles multi-data center operations
• ALL = All replicas ack
• QUORUM = > 51% of replicas ack
• LOCAL_QUORUM = > 51% in local DC ack
• ONE = Only one replica acks
• Plus more…. (see docs)
• Blog: Eventual Consistency != Hopeful Consistency
http://planetcassandra.org/blog/post/a-netflix-experiment-eventual-consistency-hopeful-
consistency-by-christos-kalantzis/
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Parallel
Write
Write
CL=QUORUM
5 μs ack
12 μs ack
500 μs ack
12 μs ack
Cassandra - Node failure
15
• A single node failure shouldn’t bring failure.
• Replication Factor + Consistency Level = Success
• This example:
• RF = 3
• CL = QUORUM
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Parallel
Write
Write
CL=QUORUM
5 μs ack
12 μs ack
12 μs ack
>51% ack – so request is a success
Cassandra - Node Recovery
16
• When a write is performed and a replica node for the row is unavailable the
coordinator will store a hint locally (3 hours)
• When the node recovers, the coordinator replays the missed writes.
• Note: a hinted write does not count the consistency level
• Note: you should still run repairs across your cluster
Node 1
1st copy
Node 4
Node 5
Node 2
2nd copy
Node 3
3rd copy
Stores Hints while Node 3 is offline
Cassandra Rack/Zone Failure
17
• Cassandra will place the data in as many
different racks or availability zones as it can.
• This example:
• RF = 3
• CL = QUORUM
• AZ/Rack 2 fails
• Data copies still available in Node 1 and
Node 5
• Quorum can be honored i.e. > 51% ack
Node 1
1st copy
Node 4
Node 2
Node 3
2nd copy
Rack 1
Rack 2Rack 2
Rack 3
Rack 1
Node 5
3rd copy
request is a success
Cassandra is fast!
18
• University of Toronto study:
Why is Cassandra so fast?
19
• write-optimised -
sequential writes to
disk
• fast merging - when
SSTable big enough
merged with existing
Operational Simplicity
20
• Cassandra is a complete product – there is not a multitude
of components to install, set-up and monitor.
• Extremely simple to administer and deploy
• Backups are instantaneous and simple to restore
• Supports snapshots, incremental backups and point-in-time recovery.
• Cassandra can handle non-uniform hardware and disks.
o This enables the mixing of solid state and spinning disks in a single cluster and pinning tables
to workload-appropriate disks.
• No downtime is required in Cassandra for upgrades or
adding/removing servers from the cluster. Scale-Up and
Scale-Out are easy to manage.
Cassandra Query Language
21
CQL
22
• Cassandra Query Language
• CQL is intended to provide a common, simpler and easier to use
interface into Cassandra - and you probably already know it!
• e.g. SELECT * FROM users
• Usual statements:
• CREATE / DROP / ALTER TABLE / SELECT
CQLSH
23
• Command line interface comes with Cassandra
• Allows some other Statements
Command Description
CAPTURE Captures command output and appends it to a file
CONSISTENCY Shows the current consistency level, or given a level, sets
it
COPY Imports and exports CSV (comma-separated values) data
DESCRIBE Provides information about a Cassandra cluster or data
objects
EXIT Terminates cqlsh
SHOW Shows the Cassandra version, host, or data type
CQL Basics
24
CREATE KEYSPACE league WITH REPLICATION = {‘class’:’NetworkTopologyStrategy’, ‘DataCentre1’:3,
‘DataCentre2’: 2};
USE league;
CREATE TABLE teams (
team_name varchar,
player_name varchar,
jersey int,
PRIMARY KEY (team_name, player_name)
);
SELECT * FROM teams WHERE team_name = ‘Mighty Mutts’ and player_name = ‘Lucky’;
INSERT INTO teams (team_name, player_name, jersey) VALUES ('Mighty Mutts',’Felix’,90);
CQL Data Types
25
Internet of Things / Data Models
26
It´s about the data
27
• Sensors
• CPU, Network Card, Electronic Power Meter, Resource Utilization,
Weather
• Clickstream data
• Historical trends
• Stock Ticker
• Anything that varies on a temporal basis
• Top Ten Most Popular Videos
Data Modeling
28
• Data modeling is a process that involves
• Collection and analysis of data requirements in an information
system
• Identification of participating entities and relationships among
them
• Identification of data access patterns
• A particular way of organizing and structuring data
• Design and specification of a database schema
• Schema optimization and data indexing techniques
• Data modeling = Science + Art
Why Cassandra for time series data
29
• Cassandra is based on BigTable storage model
• One key row and lots of (variable) columns
• Single layout on disk
Time series example
30
• Storing weather data
• One weather station
• Temperature measurement every minute
Time series example - query data
31
• Weather station id = Locality of a single node
Table Definition
32
• Data partitioned by weather station ID and time
• Timestamp goes in the clustered column
• Store the measurement as the non-clustered column(s)
CREATE TABLE temperature (
weatherstation_id text,
event_time timestamp,
temperature text
PRIMARY KEY (weatherstation_id, event_time)
);
INSERT and QUERY data
33
• Simple to insert:
INSERT INTO temperature (weatherstation_id, event_time, temperature)
VALUES (‘1234abcd’, ‘2013-12-11 07:01:00’, ‘72F’);
• Simple to query
SELECT temperature from temperature WHERE weatherstation_id=‘1234abcd’
AND event_time > ‘2013-04-03 07:01:00’ AND event_time < ‘2013-04-03
07:04:00’
Time Series Partitioning
34
• With the previous table, you can end up with a very large row on 1 partition
i.e. PRIMARY KEY (weatherstation_id, event_time)
• This would have to fit on 1 node.
• Cassandra can store 2 billion columns per storage row.
• The solution is to have a composite partition key to split things up:
CREATE TABLE temperature (
weatherstation_id text,
date text,
event_time timestamp,
temperature text
PRIMARY KEY ((weatherstation_id, date), event_time)
);
Compound Keys
35
The Primary Key
• The key uniquely identifies a row.
• A compound primary key consists of:
• A partition key
• One or more clustering columns
e.g. PRIMARY KEY (partition key, cluster columns, ...)
• The partition key determines on which node the partition
resides
• Data is ordered in cluster column order within the partition
Data Modeling
36
• Any questions?
• Feel free to learn more about data modeling online:
Part 1: The Data Model is Dead, Long Live the Data Model
http://www.youtube.com/watch?v=px6U2n74q3g
Part 2: Become a Super Modeler
http://www.youtube.com/watch?v=qphhxujn5Es
Part 3: The World's Next Top Data Model
http://www.youtube.com/watch?v=HdJlsOZVGwM
What ´s up with DataStax?
37
DataStax at a glance
38
Founded in April 2010
~25 500+
Santa Clara, Austin, New York, London, Sydney
330+
Employees Percent Customers
DataStax delivers value
39
Certified,
Enterprise-ready
Cassandra
Security Analytics Search Visual
Monitoring
Management
Services
In-Memory
Dev.IDE&
Drivers
Professional
Services
Support&
Training
Commercial
Confidence
Enterprise
Functionality
Enterprise Integrations
40
• DataStax adds Enterprise Features like: Hadoop, Solr,
Spark
DataStax OpsCenter
41
• DataStax OpsCenter is a browser-based, visual management and
monitoring solution for Apache Cassandra and DataStax Enterprise
• Functionality is also exposed via HTTP APIs
Native Drivers
44
• Different Native Drivers available: Java, Python etc.
• Load Balancing Policies (Client Driver receives Updates)
• Data Centre Aware
• Latency Aware
• Token Aware
• Reconnection policies
• Retry policies
• Downgrading Consistency
• Plus others..
• http://www.datastax.com/download/clientdrivers
DevCenter 1.1
45
• Visual Query Tool for Developers and Administrators
• Easily create and run Cassandra Queries
• Visually navigate database objects
• Context-based suggestions
DataStax Office Demo
46
• 32 Raspberry Pi´s
• 16 per DataStax Enterprise 4.5 Cluster
• Managed in OpsCenter 5.0
• “Red Button” downs one DataCenter
• Not the Performance-Demo but
• Availability
• Commodity Hardware
DataStax Enterprise
47
Feature Open Source Datastax Enterprise
Database Software
Data Platform Latest Community Cassandra Production Certified Cassandra
Core security features Yes Yes
Enterprise security features No Yes
Built-in automatic management services No Yes
Integrated analytics No Yes
Integrated enterprise search No Yes
Workload/Workflow Isolation No Yes
Easy migration of RDBMS and log data No Yes
Certified Service Packs No Yes
Certified platform support No Yes
Management Software
OpsCenter Basic functionality Advanced functionality
Services
Community Support Yes Yes
Datastax 24x7x365 Support No Yes
Quarterly Performance Reviews No Yes
DataStax Comparison
48
Standard Pro Max
Server Data Management Components
Production-certified Cassandra Yes Yes Yes
Advanced security option Yes Yes Yes
Repair service Yes Yes Yes
Capacity planning service Yes Yes Yes
Enterprise search (built-in Solr) No Yes Yes
Analytics (built-in Hadoop) No No Yes
Management Tools
OpsCenter Enterprise Yes Yes Yes
Support Services
Expert Support 24x7x1 24x7x1 24x7x1
Partner Development Support Business
hours
Business hours Business
hours
Certified service packs Yes Yes Yes
Hot fixes Yes Yes Yes
Use-Cases
49
• Netflix
• preference data captured by Cassandra
• ComCast
• AppMessaging to track favourite team´s score while watching
a movie, playlists and recommendations
• Weather Channel
• stat tracking, caching data mashups and content generation
system powered by Cassandra
What´s new?!
50
What is Spark?
51
• Apache Project since 2010 - Analytics Framework
• 10-100x faster than Hadoop MapReduce
• In-Memory Storage for Read&Write data
• Single JVM Processor per node
• Rich Scala, Java and Python API´s
• 2x-5x less code
• Interactive Shell
Why Spark on Cassandra?
52
• Data model independent queries
• cross-table operations (JOIN, UNION, etc.)!
• complex analytics (e.g. machine learning)
• data transformation, aggregation etc.
• stream processing (coming soon)
• all nodes are Spark workers
• by default resilient to worker failures
• first node promoted as Spark Master
• Standby Master promoted on failure
• Master HA available in Dactastax Enterprise
2.1 Release - User Defined Types
53
CREATE TYPE address (
street text,
city text,
zip_code int,
phones set<text>
)
CREATE TABLE users (
id uuid PRIMARY KEY,
name text,
addresses map<text, address>
)
SELECT id, name, addresses.city, addresses.phones FROM users;
id | name | addresses.city | addresses.phones
--------------------+----------------+--------------------------
63bf691f | chris | Berlin | {’0201234567', ’0796622222'}
2.1 Release - Secondary Indexes on
collections
54
CREATE TABLE songs (
id uuid PRIMARY KEY,
artist text,
album text,
title text,
data blob,
tags set<text>
);
CREATE INDEX song_tags_idx ON songs(tags);
SELECT * FROM songs WHERE tags CONTAINS 'blues';
id | album | artist | tags | title
----------+---------------+-------------------+-----------------------+------------------
5027b27e | Country Blues | Lightnin' Hopkins | {'acoustic', 'blues'} | Worrying My Mind
How to start in production?
55
• DataStax Enterprise or Community
• Hardware:
• min. 8GB RAM - optimal price-performance sweet spot is 16GB to 64GB
• 8-Core CPU - Cassandra is so efficient in writing that the CPU is the
limiting factor
• SSD-Disks - Commitlog + 50% Compaction and ext3/4 or xfs file-system
• Nodes - Cluster recommendation is 3 nodes as minimum
• Alternative: Use the Amazon Images
(http://www.datastax.com/documentation/cassandra/2.0/cassandra/architectur
e/architecturePlanningEC2_c.html)
Thanks! Let´s see a demo!
56

More Related Content

What's hot (20)

PDF
Cassandra 101
Nader Ganayem
 
PPTX
Appache Cassandra
nehabsairam
 
PPTX
Introduction to MongoDB.pptx
Surya937648
 
KEY
Introduction to Cassandra: Replication and Consistency
Benjamin Black
 
PDF
Cassandra NoSQL Tutorial
Michelle Darling
 
PDF
Cassandra Introduction & Features
DataStax Academy
 
PPTX
Cassandra ppt 1
Skillwise Group
 
PPTX
Introduction to MongoDB
MongoDB
 
PDF
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
PDF
More mastering the art of indexing
Yoshinori Matsunobu
 
PPTX
Apache Spark Architecture
Alexey Grishchenko
 
ZIP
NoSQL databases
Harri Kauhanen
 
PPTX
Cassandra - A decentralized storage system
Arunit Gupta
 
ODP
Cassandra Insider
Knoldus Inc.
 
PPTX
Apache Spark overview
DataArt
 
PDF
MongoDB Fundamentals
MongoDB
 
PPT
Introduction to mongodb
neela madheswari
 
PPTX
Apache cassandra v4.0
Yuki Morishita
 
PPTX
Introduction to Storm
Chandler Huang
 
PDF
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Databricks
 
Cassandra 101
Nader Ganayem
 
Appache Cassandra
nehabsairam
 
Introduction to MongoDB.pptx
Surya937648
 
Introduction to Cassandra: Replication and Consistency
Benjamin Black
 
Cassandra NoSQL Tutorial
Michelle Darling
 
Cassandra Introduction & Features
DataStax Academy
 
Cassandra ppt 1
Skillwise Group
 
Introduction to MongoDB
MongoDB
 
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
More mastering the art of indexing
Yoshinori Matsunobu
 
Apache Spark Architecture
Alexey Grishchenko
 
NoSQL databases
Harri Kauhanen
 
Cassandra - A decentralized storage system
Arunit Gupta
 
Cassandra Insider
Knoldus Inc.
 
Apache Spark overview
DataArt
 
MongoDB Fundamentals
MongoDB
 
Introduction to mongodb
neela madheswari
 
Apache cassandra v4.0
Yuki Morishita
 
Introduction to Storm
Chandler Huang
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Databricks
 

Viewers also liked (20)

PDF
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
DataStax Academy
 
PDF
Realtime Analytics with Apache Cassandra - JAX London
Acunu
 
ODP
An introduction to Apache Cassandra
Mike Frampton
 
PDF
Developing with Cassandra
Sperasoft
 
PDF
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
datastaxjp
 
PPTX
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
randyguck
 
PPTX
BigData Developers MeetUp
Christian Johannsen
 
PPTX
DataStax TechDay - Munich 2014
Christian Johannsen
 
PDF
Application Development with Apache Cassandra as a Service
WSO2
 
PPTX
Nutanix - Expert Session - Metro Availability
Christian Johannsen
 
PDF
Clickstream Analysis with Apache Spark
QAware GmbH
 
PPTX
Apache Cassandra Data Modeling with Travis Price
DataStax Academy
 
KEY
Data Models and Consumer Idioms Using Apache Kafka for Continuous Data Stream...
Erik Onnen
 
PPTX
Using Cassandra with your Web Application
supertom
 
PDF
2016 11-16 Citrix XenServer & Nutanix Master Class
Marc Trouard-Riolle
 
PPTX
Webinar: Network Automation [Tips & Tricks]
Cumulus Networks
 
PDF
Nutanix + Cumulus Linux: Deploying True Hyper Convergence with Open Networking
Cumulus Networks
 
PPTX
Demystifying Networking Webinar Series- Routing on the Host
Cumulus Networks
 
PPTX
Network Architecture for Containers
Cumulus Networks
 
PDF
Cloud Businesses: Strategic Considerations
Dr. Tathagat Varma
 
Solr & Cassandra: Searching Cassandra with DataStax Enterprise
DataStax Academy
 
Realtime Analytics with Apache Cassandra - JAX London
Acunu
 
An introduction to Apache Cassandra
Mike Frampton
 
Developing with Cassandra
Sperasoft
 
[Cassandra summit Tokyo, 2015] Cassandra 2015 最新情報 by ジョナサン・エリス(Jonathan Ellis)
datastaxjp
 
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
randyguck
 
BigData Developers MeetUp
Christian Johannsen
 
DataStax TechDay - Munich 2014
Christian Johannsen
 
Application Development with Apache Cassandra as a Service
WSO2
 
Nutanix - Expert Session - Metro Availability
Christian Johannsen
 
Clickstream Analysis with Apache Spark
QAware GmbH
 
Apache Cassandra Data Modeling with Travis Price
DataStax Academy
 
Data Models and Consumer Idioms Using Apache Kafka for Continuous Data Stream...
Erik Onnen
 
Using Cassandra with your Web Application
supertom
 
2016 11-16 Citrix XenServer & Nutanix Master Class
Marc Trouard-Riolle
 
Webinar: Network Automation [Tips & Tricks]
Cumulus Networks
 
Nutanix + Cumulus Linux: Deploying True Hyper Convergence with Open Networking
Cumulus Networks
 
Demystifying Networking Webinar Series- Routing on the Host
Cumulus Networks
 
Network Architecture for Containers
Cumulus Networks
 
Cloud Businesses: Strategic Considerations
Dr. Tathagat Varma
 
Ad

Similar to Apache Cassandra at the Geek2Geek Berlin (20)

PPTX
Devops kc
Philip Thompson
 
PDF
Apache cassandra & apache spark for time series data
Patrick McFadin
 
PPTX
Cassandra - A Basic Introduction Guide
Mohammed Fazuluddin
 
PDF
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Spark Summit
 
PDF
Deep Dive into Cassandra
Brent Theisen
 
PPTX
Cassandra training
András Fehér
 
PDF
Chicago Kafka Meetup
Cliff Gilmore
 
PPTX
NoSQL Session II
Roopa Chandran
 
PDF
Nike Tech Talk: Double Down on Apache Cassandra and Spark
Patrick McFadin
 
PDF
The Apache Cassandra ecosystem
Alex Thompson
 
PPTX
Cassandra Tutorial
Na Zhu
 
PPT
Scaling web applications with cassandra presentation
Murat Çakal
 
PPTX
Cassandra for mission critical data
Oleksandr Semenov
 
PDF
Cassandra & Spark for IoT
Matthias Niehoff
 
PPTX
Cassandra
Upaang Saxena
 
PPTX
Apache cassandra
Adnan Siddiqi
 
PPTX
Cassandra implementation for collecting data and presenting data
Chen Robert
 
PPTX
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
DataStax Academy
 
PPTX
Tales From The Front: An Architecture For Multi-Data Center Scalable Applicat...
DataStax Academy
 
PDF
Apache Cassandra multi-datacenter essentials
Julien Anguenot
 
Devops kc
Philip Thompson
 
Apache cassandra & apache spark for time series data
Patrick McFadin
 
Cassandra - A Basic Introduction Guide
Mohammed Fazuluddin
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Spark Summit
 
Deep Dive into Cassandra
Brent Theisen
 
Cassandra training
András Fehér
 
Chicago Kafka Meetup
Cliff Gilmore
 
NoSQL Session II
Roopa Chandran
 
Nike Tech Talk: Double Down on Apache Cassandra and Spark
Patrick McFadin
 
The Apache Cassandra ecosystem
Alex Thompson
 
Cassandra Tutorial
Na Zhu
 
Scaling web applications with cassandra presentation
Murat Çakal
 
Cassandra for mission critical data
Oleksandr Semenov
 
Cassandra & Spark for IoT
Matthias Niehoff
 
Cassandra
Upaang Saxena
 
Apache cassandra
Adnan Siddiqi
 
Cassandra implementation for collecting data and presenting data
Chen Robert
 
C* Summit 2013: Netflix Open Source Tools and Benchmarks for Cassandra by Adr...
DataStax Academy
 
Tales From The Front: An Architecture For Multi-Data Center Scalable Applicat...
DataStax Academy
 
Apache Cassandra multi-datacenter essentials
Julien Anguenot
 
Ad

Recently uploaded (20)

PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PPTX
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 

Apache Cassandra at the Geek2Geek Berlin

  • 1. DataStax EMEA Apache Cassandra and DataStax Enterprise
  • 2. Agenda 2 1.Introduction 2.Apache Cassandra 3.Cassandra Query Language 4.Internet of Things / Data Modeling 5.DataStax Enterprise 6.What´s New
  • 3. About me 3 Christian Johannsen Solutions Engineer @ DataStax @cjohannsen81
  • 4. Introduction A short introduction into the NoSQL Space 4
  • 5. CAP Theorem 5 • In distributed systems, consistency, availability and partition tolerance in a mutually dependent relationship • Enhancing any two of these will dimmish the third
  • 7. What is Apache Cassandra 7 • Apache Cassandra is a massively scalable and available NoSQL database. • Cassandra is designed to handle big data workloads across multiple data center, with no single point of failure, providing enterprise performance Dynamo BigTable BigTable: http://research.google.com/archive/bigtable-osdi06.pdf Dynamo: http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
  • 8. What is Apache Cassandra 8 • Masterless Architecture with read/write anywhere design • Continuous Availability with no single point of failure • Multi-Data Center and Zone support • Flexible data model for unstructured, semi-structured and structured data • Linear scalable performance with online expansion (scale-out and scale-up) • Security with integrated authentication • Operationally simple • CQL - Cassandra Query Language 100,000 txns/sec 200,000 txns/sec 400,000 txns/sec
  • 10. Apache Cassandra - Important 10 • Cluster - A ring of Cassandra nodes • Node - A Cassandra instance • Replication-Factor (RF) - How many copies of your data? • Replication-Strategy - SimpleStrategy vs. NetworkTopologyStrategy • Consistency-Level (CL) - What Consistency should be ensured for read/writes? • Partitioner - Decides which node store which rows (Murmur3Partinioner as default) • Tokens - Hash values assigned to nodes Follow-Up: http://planetcassandra.org/blog/introduction-to-cassandra-clusters/
  • 11. • Client reads or writes to any node • Node coordinates with others (gossip protocol) • Data read or replicated in parallel • RF = 3 in this example • Each node is strong 60% of the clusters Data i.e. 3/5 Cassandra - Locally Distributed 11 Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Node 2 2nd copy
  • 12. Cassandra - Rack/Zone aware 12 Node 1 1st copy Node 4 Node 2 Node 3 2nd copy Rack 1 Rack 2Rack 2 Rack 3 Rack 1 Node 5 3rd copy • Cassandra is aware of which rack or zone each node resides in • It will attempt to place each data copy in a different rack • RF=3 in this example
  • 13. Cassandra - DC/Region aware 13 • Active Everywhere – reads/writes in multiple data centres • Client writes local • Data syncs across WAN • Replication Factor per DC • Different number of nodes per data center Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy DC: EUROPEDC: USA
  • 14. Cassandra - Tuneable Consistency 14 • Consistency Level (CL) • Client specifies per operation • Handles multi-data center operations • ALL = All replicas ack • QUORUM = > 51% of replicas ack • LOCAL_QUORUM = > 51% in local DC ack • ONE = Only one replica acks • Plus more…. (see docs) • Blog: Eventual Consistency != Hopeful Consistency http://planetcassandra.org/blog/post/a-netflix-experiment-eventual-consistency-hopeful- consistency-by-christos-kalantzis/ Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Parallel Write Write CL=QUORUM 5 μs ack 12 μs ack 500 μs ack 12 μs ack
  • 15. Cassandra - Node failure 15 • A single node failure shouldn’t bring failure. • Replication Factor + Consistency Level = Success • This example: • RF = 3 • CL = QUORUM Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Parallel Write Write CL=QUORUM 5 μs ack 12 μs ack 12 μs ack >51% ack – so request is a success
  • 16. Cassandra - Node Recovery 16 • When a write is performed and a replica node for the row is unavailable the coordinator will store a hint locally (3 hours) • When the node recovers, the coordinator replays the missed writes. • Note: a hinted write does not count the consistency level • Note: you should still run repairs across your cluster Node 1 1st copy Node 4 Node 5 Node 2 2nd copy Node 3 3rd copy Stores Hints while Node 3 is offline
  • 17. Cassandra Rack/Zone Failure 17 • Cassandra will place the data in as many different racks or availability zones as it can. • This example: • RF = 3 • CL = QUORUM • AZ/Rack 2 fails • Data copies still available in Node 1 and Node 5 • Quorum can be honored i.e. > 51% ack Node 1 1st copy Node 4 Node 2 Node 3 2nd copy Rack 1 Rack 2Rack 2 Rack 3 Rack 1 Node 5 3rd copy request is a success
  • 18. Cassandra is fast! 18 • University of Toronto study:
  • 19. Why is Cassandra so fast? 19 • write-optimised - sequential writes to disk • fast merging - when SSTable big enough merged with existing
  • 20. Operational Simplicity 20 • Cassandra is a complete product – there is not a multitude of components to install, set-up and monitor. • Extremely simple to administer and deploy • Backups are instantaneous and simple to restore • Supports snapshots, incremental backups and point-in-time recovery. • Cassandra can handle non-uniform hardware and disks. o This enables the mixing of solid state and spinning disks in a single cluster and pinning tables to workload-appropriate disks. • No downtime is required in Cassandra for upgrades or adding/removing servers from the cluster. Scale-Up and Scale-Out are easy to manage.
  • 22. CQL 22 • Cassandra Query Language • CQL is intended to provide a common, simpler and easier to use interface into Cassandra - and you probably already know it! • e.g. SELECT * FROM users • Usual statements: • CREATE / DROP / ALTER TABLE / SELECT
  • 23. CQLSH 23 • Command line interface comes with Cassandra • Allows some other Statements Command Description CAPTURE Captures command output and appends it to a file CONSISTENCY Shows the current consistency level, or given a level, sets it COPY Imports and exports CSV (comma-separated values) data DESCRIBE Provides information about a Cassandra cluster or data objects EXIT Terminates cqlsh SHOW Shows the Cassandra version, host, or data type
  • 24. CQL Basics 24 CREATE KEYSPACE league WITH REPLICATION = {‘class’:’NetworkTopologyStrategy’, ‘DataCentre1’:3, ‘DataCentre2’: 2}; USE league; CREATE TABLE teams ( team_name varchar, player_name varchar, jersey int, PRIMARY KEY (team_name, player_name) ); SELECT * FROM teams WHERE team_name = ‘Mighty Mutts’ and player_name = ‘Lucky’; INSERT INTO teams (team_name, player_name, jersey) VALUES ('Mighty Mutts',’Felix’,90);
  • 26. Internet of Things / Data Models 26
  • 27. It´s about the data 27 • Sensors • CPU, Network Card, Electronic Power Meter, Resource Utilization, Weather • Clickstream data • Historical trends • Stock Ticker • Anything that varies on a temporal basis • Top Ten Most Popular Videos
  • 28. Data Modeling 28 • Data modeling is a process that involves • Collection and analysis of data requirements in an information system • Identification of participating entities and relationships among them • Identification of data access patterns • A particular way of organizing and structuring data • Design and specification of a database schema • Schema optimization and data indexing techniques • Data modeling = Science + Art
  • 29. Why Cassandra for time series data 29 • Cassandra is based on BigTable storage model • One key row and lots of (variable) columns • Single layout on disk
  • 30. Time series example 30 • Storing weather data • One weather station • Temperature measurement every minute
  • 31. Time series example - query data 31 • Weather station id = Locality of a single node
  • 32. Table Definition 32 • Data partitioned by weather station ID and time • Timestamp goes in the clustered column • Store the measurement as the non-clustered column(s) CREATE TABLE temperature ( weatherstation_id text, event_time timestamp, temperature text PRIMARY KEY (weatherstation_id, event_time) );
  • 33. INSERT and QUERY data 33 • Simple to insert: INSERT INTO temperature (weatherstation_id, event_time, temperature) VALUES (‘1234abcd’, ‘2013-12-11 07:01:00’, ‘72F’); • Simple to query SELECT temperature from temperature WHERE weatherstation_id=‘1234abcd’ AND event_time > ‘2013-04-03 07:01:00’ AND event_time < ‘2013-04-03 07:04:00’
  • 34. Time Series Partitioning 34 • With the previous table, you can end up with a very large row on 1 partition i.e. PRIMARY KEY (weatherstation_id, event_time) • This would have to fit on 1 node. • Cassandra can store 2 billion columns per storage row. • The solution is to have a composite partition key to split things up: CREATE TABLE temperature ( weatherstation_id text, date text, event_time timestamp, temperature text PRIMARY KEY ((weatherstation_id, date), event_time) );
  • 35. Compound Keys 35 The Primary Key • The key uniquely identifies a row. • A compound primary key consists of: • A partition key • One or more clustering columns e.g. PRIMARY KEY (partition key, cluster columns, ...) • The partition key determines on which node the partition resides • Data is ordered in cluster column order within the partition
  • 36. Data Modeling 36 • Any questions? • Feel free to learn more about data modeling online: Part 1: The Data Model is Dead, Long Live the Data Model http://www.youtube.com/watch?v=px6U2n74q3g Part 2: Become a Super Modeler http://www.youtube.com/watch?v=qphhxujn5Es Part 3: The World's Next Top Data Model http://www.youtube.com/watch?v=HdJlsOZVGwM
  • 37. What ´s up with DataStax? 37
  • 38. DataStax at a glance 38 Founded in April 2010 ~25 500+ Santa Clara, Austin, New York, London, Sydney 330+ Employees Percent Customers
  • 39. DataStax delivers value 39 Certified, Enterprise-ready Cassandra Security Analytics Search Visual Monitoring Management Services In-Memory Dev.IDE& Drivers Professional Services Support& Training Commercial Confidence Enterprise Functionality
  • 40. Enterprise Integrations 40 • DataStax adds Enterprise Features like: Hadoop, Solr, Spark
  • 41. DataStax OpsCenter 41 • DataStax OpsCenter is a browser-based, visual management and monitoring solution for Apache Cassandra and DataStax Enterprise • Functionality is also exposed via HTTP APIs
  • 42. Native Drivers 44 • Different Native Drivers available: Java, Python etc. • Load Balancing Policies (Client Driver receives Updates) • Data Centre Aware • Latency Aware • Token Aware • Reconnection policies • Retry policies • Downgrading Consistency • Plus others.. • http://www.datastax.com/download/clientdrivers
  • 43. DevCenter 1.1 45 • Visual Query Tool for Developers and Administrators • Easily create and run Cassandra Queries • Visually navigate database objects • Context-based suggestions
  • 44. DataStax Office Demo 46 • 32 Raspberry Pi´s • 16 per DataStax Enterprise 4.5 Cluster • Managed in OpsCenter 5.0 • “Red Button” downs one DataCenter • Not the Performance-Demo but • Availability • Commodity Hardware
  • 45. DataStax Enterprise 47 Feature Open Source Datastax Enterprise Database Software Data Platform Latest Community Cassandra Production Certified Cassandra Core security features Yes Yes Enterprise security features No Yes Built-in automatic management services No Yes Integrated analytics No Yes Integrated enterprise search No Yes Workload/Workflow Isolation No Yes Easy migration of RDBMS and log data No Yes Certified Service Packs No Yes Certified platform support No Yes Management Software OpsCenter Basic functionality Advanced functionality Services Community Support Yes Yes Datastax 24x7x365 Support No Yes Quarterly Performance Reviews No Yes
  • 46. DataStax Comparison 48 Standard Pro Max Server Data Management Components Production-certified Cassandra Yes Yes Yes Advanced security option Yes Yes Yes Repair service Yes Yes Yes Capacity planning service Yes Yes Yes Enterprise search (built-in Solr) No Yes Yes Analytics (built-in Hadoop) No No Yes Management Tools OpsCenter Enterprise Yes Yes Yes Support Services Expert Support 24x7x1 24x7x1 24x7x1 Partner Development Support Business hours Business hours Business hours Certified service packs Yes Yes Yes Hot fixes Yes Yes Yes
  • 47. Use-Cases 49 • Netflix • preference data captured by Cassandra • ComCast • AppMessaging to track favourite team´s score while watching a movie, playlists and recommendations • Weather Channel • stat tracking, caching data mashups and content generation system powered by Cassandra
  • 49. What is Spark? 51 • Apache Project since 2010 - Analytics Framework • 10-100x faster than Hadoop MapReduce • In-Memory Storage for Read&Write data • Single JVM Processor per node • Rich Scala, Java and Python API´s • 2x-5x less code • Interactive Shell
  • 50. Why Spark on Cassandra? 52 • Data model independent queries • cross-table operations (JOIN, UNION, etc.)! • complex analytics (e.g. machine learning) • data transformation, aggregation etc. • stream processing (coming soon) • all nodes are Spark workers • by default resilient to worker failures • first node promoted as Spark Master • Standby Master promoted on failure • Master HA available in Dactastax Enterprise
  • 51. 2.1 Release - User Defined Types 53 CREATE TYPE address ( street text, city text, zip_code int, phones set<text> ) CREATE TABLE users ( id uuid PRIMARY KEY, name text, addresses map<text, address> ) SELECT id, name, addresses.city, addresses.phones FROM users; id | name | addresses.city | addresses.phones --------------------+----------------+-------------------------- 63bf691f | chris | Berlin | {’0201234567', ’0796622222'}
  • 52. 2.1 Release - Secondary Indexes on collections 54 CREATE TABLE songs ( id uuid PRIMARY KEY, artist text, album text, title text, data blob, tags set<text> ); CREATE INDEX song_tags_idx ON songs(tags); SELECT * FROM songs WHERE tags CONTAINS 'blues'; id | album | artist | tags | title ----------+---------------+-------------------+-----------------------+------------------ 5027b27e | Country Blues | Lightnin' Hopkins | {'acoustic', 'blues'} | Worrying My Mind
  • 53. How to start in production? 55 • DataStax Enterprise or Community • Hardware: • min. 8GB RAM - optimal price-performance sweet spot is 16GB to 64GB • 8-Core CPU - Cassandra is so efficient in writing that the CPU is the limiting factor • SSD-Disks - Commitlog + 50% Compaction and ext3/4 or xfs file-system • Nodes - Cluster recommendation is 3 nodes as minimum • Alternative: Use the Amazon Images (http://www.datastax.com/documentation/cassandra/2.0/cassandra/architectur e/architecturePlanningEC2_c.html)
  • 54. Thanks! Let´s see a demo! 56