DataStax Java Driver: A new face for Cassandra

By Michael Figuiere -  May 9, 2013 | 6 Comments

Cassandra has always benefited from a great architecture, thought from the very beginning for scalability, performance and availability. This is surely what has driven its tremendous success so far. Unfortunately, early versions of Cassandra also came with a rather complex interface and data model that were negatively impacting the learning curve for developers. To solve this issue the Apache Cassandra team came up with a great new language and abstraction: CQL3. This clearly renewed the face of Cassandra, bringing a consistent interface across all languages and tools.

Thrift, the transport layer that Cassandra traditionally used for client-server communication, has been a great opportunity for the database in its early days since Thrift clients were readily available for most programming languages. This allowed the Apache Cassandra project to focus on the server side without spreading their resources on the client side. Nevertheless, as Cassandra became mature, Thrift turned out to be a limitation: communication limited to the request-response paradigm, no notifications, no streaming, client side interface made of generated code, etc. In Cassandra 1.2, a solution to this second problem was introduced with the CQL Native Protocol, a protocol designed exclusively for CQL3 and with enough flexibility to enable new features in Cassandra for the years to come.

With these two majors changes, an update was obviously necessary on the client side. The fact that we had a renewed interface and transport layer, together with the need for an environment free of any Thrift concepts, strongly advocated for a brand new line of drivers, which was aligned with the long-term strategy of CQL.

Today, DataStax announces version 1.0.0 of a new Java Driver, designed for CQL and based on years of experience within the Cassandra community. This Java driver is a first step; an object mapping and a JDBC extension will be available soon, drivers for C# and other major languages are on their way. Besides this new interface and API, this new driver comes with:

  • Node discovery, load balancing, and fail-over are implemented in a standardized way across all languages
  • Asynchronous API, making it simple to send multiple requests in parallel
  • Query builder, which makes it possible to create queries programmatically
  • Tracing, a new feature in Cassandra 1.2, that will quickly become part of everyday tools for developers working with CQL

In the weeks to come, several articles on this blog will cover some particular features of this Java Driver. Meanwhile, its documentation is readily available and you can start to use it right away using the following Maven dependency:


DataStax has many ways for you to advance in your career and knowledge.

You can take free classes, get certified, or read one of our many white papers.

register for classes

get certified

DBA's Guide to NoSQL


  1. Chethan says:

    I have checked out project from git hub and built it successfully with maven. Although there are still some jars that I need to add to my classpath (all the jars mentioned in

    I don’t see any targets to actually build these jars in pom.xml and neither did I see these jar being a product of my successful build. Should I download them seperately online or am I missing something here?


  2. Michael Figuiere says:

    Sorry for the late answer. If you want to use the driver in your application you don’t have to recompile it.

    You currently have to use Maven or any kind of Java build tool that is able to retrieve some Maven dependencies to work with this driver. Just add the driver to your project as a Maven dependency using the XML entry found at the end of the article, adapting it to the format used by your build tool if it’s not Maven and everything should work fine.

  3. Chris says:

    I am having problems with converting github to a Maven project in eclipse I get the error “null Warning
    Thu Jul 11 21:38:31 EDT 2013
    Failed to dispatch repository event to org.eclipse.m2e.core.internal.embedder.EclipseRepositoryListener: null”

    I am new to Cassandra and appreciate the assistance. Also not sure where to add the Maven dependency and link stuff into eclipse and Cassandra

  4. Rahul says:

    When will the JDBC driver be released? Will it be available under ASL?

  5. Hugo says:

    Three years later and still no news on JDBC?

  6. SRAVYA MADALA says:

    I want to know about how can we insert and retreive data from cassandra database in XML format usingJAVA API


Your email address will not be published. Required fields are marked *

Subscribe for newsletter:

Tel. +1 (408) 933-3120 Offices France GermanyJapan

DataStax Enterprise is powered by the best distribution of Apache Cassandra™.

© 2017 DataStax, All Rights Reserved. DataStax, Titan, and TitanDB are registered trademark of DataStax, Inc. and its subsidiaries in the United States and/or other countries.
Apache Cassandra, Apache, Tomcat, Lucene, Solr, Hadoop, Spark, TinkerPop, and Cassandra are trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.