1) The document discusses Cassandra tools including the DataStax CQL drivers and the new DevCenter visual query tool.
2) The CQL drivers provide an asynchronous architecture based on Netty, support prepared statements, automatic failover, and tunable policies.
3) DevCenter is a free visual query tool that can be used by developers and admins for creating and running CQL queries and commands against Apache Cassandra and DataStax Enterprise. It is intended to be a smarter and friendlier alternative to cqlsh.
4. Why building tools for C*
•Too many choices
•Best practices
•distributed systems
•modern applications
•Friendly, Familiar, Integrated experience
#CASSANDRAEU
5. One way or another
•Learn & experiment
•Implement
•Test
•Integrate
!
•Repeat
#CASSANDRAEU
6. 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
7. CQL Drivers Overview
* Reference Implementation
* Asynchronous architecture based on Netty
* Prepared Statements Support
* Automatic Fail-over
* Node Discovery
* Cassandra Tracing Support
* Tunable Policies
!
17. 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);!
18. Load Balancing and Failover
Respons
e
5
Retry
Policy
4
6
Client
1
Load
Balancing
Policy
3
Node
Node
2
Node
Health
Monitor
Notifications
Reconnection
19. Multi Datacenter Load Balancing
Datacenter A
Client
Node
Client
Node
Client
Node
Client
Node
Client
Client
Node
Node
Datacenter B
Local nodes are
queried first, if non
are available, the
request will be
sent to a remote
node.
20. 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 first.
21. 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!
25. 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