Architectural overview

The DataStax Java driver for Apache Cassandra. works exclusively with the Cassandra Query Language version 3 (CQL3) and Cassandra's new binary protocol which was introduced in Cassandra version 1.2.

The driver architecture is a layered one. At the bottom lies the driver core. This core handles everything related to the connections to a Cassandra cluster (for example, connection pool, discovering new nodes, etc.) and exposes a simple, relatively low-level API on top of which a higher level layer can be built. A Mapping and a JDBC module will be added on top of that in upcoming versions of the driver.

The driver relies on Netty to provide non-blocking I/O with Cassandra for providing a fully asynchronous architecture. Multiple queries can be submitted to the driver which then will dispatch the responses to the appropriate client threads.

The driver has the following features: The default behavior of the driver can be changed or fine tuned by using tuning policies and connection options.

Queries can be executed synchronously or asynchronously. Prepared statements are supported and a query builder auxiliary class can be used to build queries dynamically.