SlideShare a Scribd company logo
#CASSANDRAEU

Cassandra made simple
with CQL drivers and DevCenter

MichaĂŤl Figuiere, Software Engineer, DataStax
!
Alex Popescu, Sen.Product Manager, DataStax
Agenda

•Why building tools for Cassandra?
•DataStax Drivers
• Core values

•Introducing DevCenter

#CASSANDRAEU
Motivation

ÂŤUse the right tool for the jobÂť

... the best tools for the job

#CASSANDRAEU
Why building tools for C*

•Too many choices
•Best practices
•distributed systems
•modern applications
•Friendly, Familiar, Integrated experience

#CASSANDRAEU
One way or another
•Learn & experiment
•Implement
•Test
•Integrate
!

•Repeat

#CASSANDRAEU
CQL The new face of Cassandra
* CQL
* Simpler Data Model using Denormalized Tables
* SQL-like Query Language
* Schema Definition
* CQL Native Protocol
* Introduced in Cassandra 1.2
* Designed for CQL
* Thrift will keep being supported by Cassandra
CQL Drivers Overview
* Reference Implementation
* Asynchronous architecture based on Netty
* Prepared Statements Support
* Automatic Fail-over
* Node Discovery
* Cassandra Tracing Support
* Tunable Policies
!
Request Pipelining
Client

Cassandra

Without
Request
Pipelining
Client

Cassandra

With
Request
Pipelining
Notifications
Node

Client
Node

Node

With	

Notications

Node

Client

Node

Without	

Notications

Node
Asynchronous Architecture
Nod

Client
Thread
Nod

Client
Thread

Driver
Nod

Client
Thread

Nod
Asynchronous Architecture
Nod

Client
Thread

6
Nod

1
Client
Thread

2

Driver

3
Nod

5
Client
Thread

4
Nod
Connect and Write
Cluster cluster = new Cluster.builder()	
.addContactPoints("10.0.0.1", "10.0.0.2")	
.build();	
!
Session session = cluster.connect("myKeyspace");	
!
session.execute(	
"INSERT INTO user (user_id, name, email)	
VALUES (12345, 'johndoe', 'john@doe.com')"	
);
Read from a table
ResultSet rs = session.execute("SELECT * FROM test");	
!
List<Row> rows = rs.all();	
	
for (Row row : rows) {	
!
String userId = row.getString("user_id");	
String name = row.getString("name");	
String email = row.getString("email");	
}
Asynchronous Read
ResultSetFuture future =	
session.executeAsync("SELECT * FROM test");	
!
for (Row row : future.get()) {	
!
String userId = row.getString("user_id");	
String name = row.getString("name");	
String email = row.getString("email");	
}
Read with Callbacks
final ResultSetFuture future =	
session.executeAsync("SELECT * FROM test");	
!
future.addListener(new Runnable() {	
public run() {	
for (Row row : future.get()) {	
!
String userId = row.getString("user_id");	
String name = row.getString("name");	
String email = row.getString("email");	
}	
}	
}, executor);
Using Prepared Statements
public void setUserByPreparedStatement(User user) {!
!
BoundStatement bs = setUser.bind();!
!
bs.setString("username", user.getUsername());!
bs.setString("firstname", user.getFirstname());!
bs.setString("lastname", user.getLastname());!
bs.setString("email", user.getEmail());!
bs.setDate("created_date", user.getCreated_date());!
!
!
!
session.execute(bs); !
}
Using the Query Builder
Query query = select().all().from("videodb", "videos")!
.where(eq("videoId", videoId)).limit(10);!

!
query.setConsistencyLevel(ConsistencyLevel.ONE);!

!
ResultSet rs = session.execute(query);!
Load Balancing and Failover
Respons
e	


5

Retry	

Policy	

4

6

Client	


1

Load
Balancing
Policy	


3

Node

Node

2
Node

Health
Monitor	


Notications	


Reconnection
Multi Datacenter Load Balancing
Datacenter A
Client	


Node

Client	


Node

Client	


Node

Client	


Node

Client	

Client	


Node
Node

Datacenter B

Local nodes are
queried rst, if non
are available, the
request will be
sent to a remote
node.
Token Aware Load Balancing
Replic
Node
a

Node

Replic
Node

Client	


a

Node

Replic
a

Node

Nodes that own
a Replica of the
data being read
or written by the
query will be
contacted rst.
Add a Load Balancing Policy
!
!
cluster = Cluster.builder()!
.addContactPoints("10.0.0.1", "10.0.0.2")	
.withLoadBalancingPolicy(Policies.defaultLoadBalancingPolicy())!
.build();!
!
session = cluster.connect(keyspace);!
Create your own policy!
Automatic Paging
Nod

Query

Client	


Page 1	

+ Paging State 1

Repli

Nod

Repli

Nod

Repli
Automatic Paging
Nod

Repli

Query + Paging State 1
Client	


Nod

Repli

Page 2 + Paging State 2
Nod

Repli
Introducing DevCenter 1.0
DevCenter

#CASSANDRAEU

•DevCenter is a free visual query tool that can be used by
both developers and admins for creating and running
CQL queries and commands against Apache Cassandra
and DataStax Enterprise

•DevCenter is the

smarter and friendlier
brother of cqlsh
DevCenter

#CASSANDRAEU

Pull a Steve Jobs...

... brag about how
brilliant DevCenter is
#CASSANDRAEU

Quick links

*DataStax drivers:
http://github.com/datastax

*DevCenter:
http://www.datastax.com/dev/blog/datastaxdevcenter-1-0-is-here
http://www.datastax.com/download/clientdrivers
!

More Related Content

PPTX
TDD in the wild
Brainhub
 
PPTX
Cassandra 2.2 & 3.0
Victor Coustenoble
 
PPTX
Database connectivity in python
baabtra.com - No. 1 supplier of quality freshers
 
DOCX
Connectivity coding for java and mysql
Fahad Ali Khan
 
PPTX
Sequelize
Tarek Raihan
 
PDF
PostgreSQL (2) by Aswin
Agate Studio
 
PPTX
Html web sql database
AbhishekMondal42
 
PDF
Python my SQL - create table
Learnbay Datascience
 
TDD in the wild
Brainhub
 
Cassandra 2.2 & 3.0
Victor Coustenoble
 
Database connectivity in python
baabtra.com - No. 1 supplier of quality freshers
 
Connectivity coding for java and mysql
Fahad Ali Khan
 
Sequelize
Tarek Raihan
 
PostgreSQL (2) by Aswin
Agate Studio
 
Html web sql database
AbhishekMondal42
 
Python my SQL - create table
Learnbay Datascience
 

What's hot (19)

DOCX
Java assgn
aa11bb11
 
PPTX
PostgreSQL's Secret NoSQL Superpowers
Amanda Gilmore
 
PDF
MySQL User Conference 2009: Python and MySQL
Ted Leung
 
PDF
Python my sql database connection
Learnbay Datascience
 
PPTX
MySql:Basics
DataminingTools Inc
 
PPTX
MySql:Introduction
DataminingTools Inc
 
PPTX
Python database interfaces
Mohammad Javad Beheshtian
 
PPTX
Building .NET Apps using Couchbase Lite
gramana
 
PDF
MySQL for beginners
Saeid Zebardast
 
PPTX
Angular JS deep dive
Axilis
 
PPTX
2015 02-09 - NoSQL Vorlesung Mosbach
Johannes Hoppe
 
PDF
2012-08-29 - NoSQL Bootcamp (Redis, RavenDB & MongoDB fĂźr .NET Entwickler)
Johannes Hoppe
 
PDF
Cassandra Day Chicago 2015: Advanced Data Modeling
DataStax Academy
 
PDF
20190627 j hipster-conf- diary of a java dev lost in the .net world
Daniel Petisme
 
PDF
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
Srijan Technologies
 
ODP
Msql
ksujitha
 
PDF
Euruko 2009 - DataObjects
Dirkjan Bussink
 
Java assgn
aa11bb11
 
PostgreSQL's Secret NoSQL Superpowers
Amanda Gilmore
 
MySQL User Conference 2009: Python and MySQL
Ted Leung
 
Python my sql database connection
Learnbay Datascience
 
MySql:Basics
DataminingTools Inc
 
MySql:Introduction
DataminingTools Inc
 
Python database interfaces
Mohammad Javad Beheshtian
 
Building .NET Apps using Couchbase Lite
gramana
 
MySQL for beginners
Saeid Zebardast
 
Angular JS deep dive
Axilis
 
2015 02-09 - NoSQL Vorlesung Mosbach
Johannes Hoppe
 
2012-08-29 - NoSQL Bootcamp (Redis, RavenDB & MongoDB fĂźr .NET Entwickler)
Johannes Hoppe
 
Cassandra Day Chicago 2015: Advanced Data Modeling
DataStax Academy
 
20190627 j hipster-conf- diary of a java dev lost in the .net world
Daniel Petisme
 
[Srijan Wednesday Webinars] Ruling Drupal 8 with #d8rules
Srijan Technologies
 
Msql
ksujitha
 
Euruko 2009 - DataObjects
Dirkjan Bussink
 
Ad

Similar to C* Summit EU 2013: Cassandra Made Simple with CQL Drivers and DevCenter (20)

PDF
Geneva JUG - Cassandra for Java Developers
MichaÍl Figuière
 
PPT
3 database-jdbc(1)
hameedkhan2017
 
PDF
Neo4j GraphTour: Utilizing Powerful Extensions for Analytics and Operations
Mark Needham
 
PDF
Apache Cassandra and Go
DataStax Academy
 
PDF
Cassandra summit 2013 - DataStax Java Driver Unleashed!
MichaÍl Figuière
 
PDF
C* Summit 2013: Java and .NET Client Drivers - Cassandra Developments on Fire...
DataStax Academy
 
PPTX
DataStax NYC Java Meetup: Cassandra with Java
carolinedatastax
 
PPTX
Entity Framework Core & Micro-Orms with Asp.Net Core
Stephane Belkheraz
 
PPTX
ASP.Net 5 and C# 6
Andy Butland
 
PDF
Utilizing Powerful Extensions for Analytics and Operations
Neo4j
 
PDF
GraphTour - Utilizing Powerful Extensions for Analytics & Operations
Neo4j
 
PPT
JDBC Tutorial
Information Technology
 
PDF
ETL With Cassandra Streaming Bulk Loading
alex_araujo
 
PDF
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
DataStax Academy
 
PDF
YaJug - Cassandra for Java Developers
MichaÍl Figuière
 
PDF
Hadoop Integration in Cassandra
Jairam Chandar
 
DOCX
Week 12 code
abhi7692271
 
PPTX
Developing web-apps like it's 2013
Laurent_VB
 
PPTX
Pyhton with Mysql to perform CRUD operations.pptx
Ramakrishna Reddy Bijjam
 
PDF
Utilizing Powerful Extensions for Analytics and Operations
Neo4j
 
Geneva JUG - Cassandra for Java Developers
MichaÍl Figuière
 
3 database-jdbc(1)
hameedkhan2017
 
Neo4j GraphTour: Utilizing Powerful Extensions for Analytics and Operations
Mark Needham
 
Apache Cassandra and Go
DataStax Academy
 
Cassandra summit 2013 - DataStax Java Driver Unleashed!
MichaÍl Figuière
 
C* Summit 2013: Java and .NET Client Drivers - Cassandra Developments on Fire...
DataStax Academy
 
DataStax NYC Java Meetup: Cassandra with Java
carolinedatastax
 
Entity Framework Core & Micro-Orms with Asp.Net Core
Stephane Belkheraz
 
ASP.Net 5 and C# 6
Andy Butland
 
Utilizing Powerful Extensions for Analytics and Operations
Neo4j
 
GraphTour - Utilizing Powerful Extensions for Analytics & Operations
Neo4j
 
JDBC Tutorial
Information Technology
 
ETL With Cassandra Streaming Bulk Loading
alex_araujo
 
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
DataStax Academy
 
YaJug - Cassandra for Java Developers
MichaÍl Figuière
 
Hadoop Integration in Cassandra
Jairam Chandar
 
Week 12 code
abhi7692271
 
Developing web-apps like it's 2013
Laurent_VB
 
Pyhton with Mysql to perform CRUD operations.pptx
Ramakrishna Reddy Bijjam
 
Utilizing Powerful Extensions for Analytics and Operations
Neo4j
 
Ad

More from DataStax Academy (20)

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

Recently uploaded (20)

PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
The Future of Artificial Intelligence (AI)
Mukul
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Doc9.....................................
SofiaCollazos
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 

C* Summit EU 2013: Cassandra Made Simple with CQL Drivers and DevCenter