• Glossary
  • Support
  • Downloads
  • DataStax Home
Get Live Help
Expand All
Collapse All

Developing applications with DataStax drivers

    • Getting started
    • Best practices
    • Connecting to the database
      • Connecting to DataStax Astra databases
      • Authentication in DataStax drivers
      • Using SSL in DataStax drivers
      • Load balancing with DataStax drivers
      • Connection pooling
      • Retry policies
      • Reconnection policies
      • Execution profiles
    • Submitting queries
      • Working with multi-workload clusters
      • Using DSE Search with the DataStax drivers
      • Submitting DSE Graph queries with the DataStax drivers
      • Result paging with DataStax drivers
      • Synchronous and asynchronous query execution
      • Managing concurrency in asynchronous query execution
      • Speculative query execution
      • Query idempotence
      • Driver metrics
      • Object mappers in DSE drivers
      • Query timestamps
    • Error handling
      • Server errors
      • Client errors
    • Example applications
      • Connecting to Astra
      • Executing CQL statements
      • Executing bound statements
  • Developing applications with DataStax drivers
  • Getting started

Developing applications with Apache Cassandra™ and DataStax Enterprise

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

This guide covers general features and access patterns common across all DataStax drivers, with links to the individual driver documentation for details on using the driver features. If you are developing applications using data stored in Cassandra or DataStax Enterprise, familiarize yourself with these techniques and features to make sure your application is performant and scalable.

Prerequisites

Before building an application, learn about the DSE architecture and review the DataStax Academy tutorials. It’s especially important to understand data modeling when developing applications using Cassandra or DSE. This foundation helps ensure your application performs to its fullest potential.

Programming language options

There are DataStax drivers for a range of programming languages. The drivers have features common across 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 drivers [1]

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

DataStax drivers

As of January 2020, DataStax no longer develops separate drivers for Cassandra (OSS drivers) and for DataStax Enterprise (DSE drivers). All of the driver functionality that was formerly in the DSE driver only is now in the single DataStax driver. Going forward, all new driver features will be implemented in the DataStax driver. See the blog post for details.

If you currently use one of the DSE drivers, see the upgrade guide in the individual driver’s documentation for details on how to migrate to the unified DataStax driver.

Table 2. Driver upgrade guides

C/C++

C#

Java

Node.js

Python

DataStax driver functionality

  • CQL support

  • Synchronous/Asynchronous API

  • Address translation

  • Load balancing policies

  • Retry policies

  • Reconnection policies

  • Connection pooling

  • Automatic cluster discovery

  • SSL

  • Error Handling

  • Compression

  • Query builder

  • Object mapper

  • DSE Graph Fluent API

  • DSE Advanced Security, Unified Authentication

  • DSE Geometric types

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 3. 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

Footnotes


1. Supported by DataStax, but only critical bug fixes will be included in new versions.
Best practices

General Inquiries: +1 (650) 389-6000 info@datastax.com

© DataStax | Privacy policy | Terms of use

DataStax, Titan, and TitanDB are registered trademarks of DataStax, Inc. and its subsidiaries in the United States and/or other countries.

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.

Kubernetes is the registered trademark of the Linux Foundation.

landing_page landingpage