ApacheCon NA 2013

Portland, Oregon

February 26th – 28th, 2013

Register Now!

Thursday 10:15 a.m.–11 a.m.

The new face of Cassandra

Michaël Figuière

Track:
Cassandra
Audience level:
Intermediate

Description

Cassandra 1.2 introduces a new Binary Protocol that together with the now finalized CQL3 query language provide a new interface to communicate with Cassandra that dramatically simplify it. This talk will present these changes, the new client architecture, and will provide an update on data modeling best practices. Then we'll see how to implement an enterprise application using this new interface.

Abstract

Cassandra has always been a highly performant distributed database, but not always simple to use though. Apache Cassandra 1.2 introduces some new features such as a Binary Protocol and Collections datatype that together with the now finalized CQL3 query language provide a new interface to communicate with Cassandra that dramatically shrink its learning curve and simplify its daily use while still relying on its highly scalable architecture and storage engine. This presentation will iterate over all these new features including an overview of CQL3 query language, a look at the new client architecture, and an update on data modeling best practices. Then we'll see how to implement an enterprise application using this new interface so that the audience can realize that a number of design principles are inspired from those commonly used with relational databases while some other entirely different, due to Cassandra partitioning approach.

The detailed outline of the presentation is as follow:

The state of Cassandra up to 1.1

  • Pros and cons of the Column Family data model
  • Lack of unified interface for Cassandra
  • A complex client environment made of Thrift wrapper libraries

What change with Cassandra 1.2

  • Thin data model abstraction introduced with CQL3
  • CQL3 query language overview
  • New Binary Protocol as a transport layer between clients and cluster nodes

The new client architecture

  • New interface designed for CQL3 + Binary Protocol
  • Asynchronous architecture from the ground up
  • How to migrate?

Enterprise Application Example

  • Example: User contacts
  • Data model design
  • How to implement writes
  • How to implement reads