Developing applications with DataStax drivers

The DataStax drivers are the primary resource for application developers creating solutions using DataStax Enterprise (DSE).

The DataStax drivers are the primary resource for application developers creating solutions using DataStax Enterprise.

Prerequisites

Before building an application, learn about the DSE architecture and review the DataStax Academy tutorials. It's especially important to understand data modeling for DSE. This foundation helps ensure the application performs to its fullest potential.

Programming language options

There are DataStax drivers for a range of programming languages. The drivers have a set of core functionalities common for all the drivers. Please consult the individual driver documentation pages for detailed information on the driver's features and API.

Table 1. Development status of DataStax drivers
Actively developed drivers Maintenance mode drivers1
C/C++ driver PHP driver
C# driver | C# DSE Graph Extension Ruby driver
Java driver (DSE Graph Extension included)
Node.js driver | Node.js DSE Graph Extension
Python driver | Python Graph Extension

DSE and open source drivers

DataStax develops the drivers for DataStax Enterprise (DSE drivers) and for Apache Cassandra™ (OSS drivers). Use the DSE drivers when developing applications for DataStax Enterprise.

The DSE drivers have all of the functionality of the OSS drivers as well as additional features for DSE-specific features such as Unified Authentication and DSE Graph. By starting with the DSE drivers, it is much easier to add DSE optimizations and features to applications.

DataStax Enterprise Drivers (DSE) and Apache Cassandra Drivers (OSS) DataStax Enterprise Drivers Only

Core functionality

A list of common driver features are available to all driver languages:

  • CQL support
  • Synchronous and Asynchronous APIs
  • Automatic cluster discovery
  • Connection pooling
  • Load balancing
  • Retry and reconnection
  • Error handling
  • SSL
  • Unified Authentication (DSE Driver only)
  • DSE Search and geospatial type support (DSE Driver only)
  • DSE Graph support (DSE Driver only)

DSE workloads

DataStax Enterprise supports several workload types:
  • Transactional (Cassandra-only)
  • Search
  • Analytics
  • Graph
The DataStax drivers support most of these workloads natively, simplifying applications that run Transactional, Search, and Graph queries alongside one another.

The DataStax drivers in this guide do not support DSE Analytics queries. The access patterns in analytics use cases are different than the access patterns used by the other workloads. The ODBC and JDBC drivers for DSE Analytics and the DSE Spark Cassandra Connector are typically used with the DSE drivers for analytics applications.

For more about workloads, see Working with multi-workload clusters.

Getting started

Each DataStax driver is hosted on the common distribution channel for the particular language. Visit the DataStax Downloads for direct links to download locations and the DataStax Documentation for installation information.

Table 2. Drivers for each language
C/C++ C# Java Node.js PHP Python Ruby
Binaries hosted on datastax.com NuGet Maven NPMJS Binaries hosted on datastax.com PyPI RubyGems
1 Supported by DataStax, but only critical bug fixes will be included in new versions.