A modern, feature-rich C/C++ client library for Apache Cassandra® and DataStax products using Cassandra's binary protocol.
The Apache Cassandra C/C++ Driver is a client library that allows C and C++ applications to connect to and interact with Apache Cassandra® and DataStax Enterprise databases. It implements Cassandra's binary protocol and CQL v3, providing a robust interface for executing queries, managing connections, and handling advanced database features. It solves the need for a native, high-performance driver to integrate Cassandra with C/C++ systems.
C and C++ developers building applications that require direct, efficient access to Apache Cassandra or DataStax Enterprise databases, particularly in performance-sensitive or embedded environments.
Developers choose this driver for its comprehensive feature set, production-ready reliability, and deep integration with Cassandra's ecosystem. It offers extensive tunability, support for advanced data types and DSE features, and is maintained by DataStax with strong compatibility guarantees.
C/C++ Driver for Apache Cassandra®
Supports advanced Cassandra features like asynchronous API, tuples, UDTs, nested collections, and DSE-specific additions such as geospatial types and Kerberos authentication, as detailed in the README's feature list.
Offers configurable load balancing, latency-aware routing, speculative execution, and client-side timestamps, enabling optimized low-latency operations for scalable applications.
Maintained by DataStax with compatibility matrices for Cassandra and DSE versions, plus support for DataStax Astra, ensuring stability and long-term support.
Builds and tests on multiple platforms including Rocky Linux, Ubuntu, and Windows with various Visual Studio versions, providing flexibility for heterogeneous environments.
Requires manual installation of libuv, OpenSSL, and zlib, and binaries are only provided for specific OS versions, making initial configuration cumbersome compared to plug-and-play drivers.
No official support for macOS or big-endian systems, and compatibility is restricted to listed Linux distributions and Windows, limiting deployment options.
Uses C-style functions with manual memory management (e.g., CassFuture, CassCluster) as shown in the example code, which can be error-prone and less ergonomic than modern C++ RAII patterns.
GoCQL Driver for Apache Cassandra®
Java Driver for Apache Cassandra®
Node.js Driver for Apache Cassandra
DataStax C# Driver for Apache Cassandra
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.