This is a client-side driver for ScyllaDB written in Node.js and Rust. This driver is an overlay over the ScyllaDB Rust Driver, with the interface based on the DataStax Node.js Driver. Although optimized for ScyllaDB, the driver is also compatible with Apache Cassandra®.
This driver is currently in the experimental state. We are working on features necessary for the driver to be considered production ready.
npm install scylladb-driver-alpha
Currently only linux x86_64 architecture is supported with planned support for other architectures in the future.
The API (documentation) of the driver is based on the DataStax driver. Some of the endpoints are already implemented, others are planned, and some parts of the API (including features that were deprecated and are specific to DataStax databases) are removed. The status of each API endpoint is listed in this document and unimplemented features are tracked in the repository issues.
You can find example usages of the driver in the examples directory.
The driver supports the following:
- Simple, Prepared, and Batch statements
- Asynchronous IO, parallel execution, request pipelining
- Token-aware routing
- Shard-aware and Tablet-aware routing (specific to ScyllaDB)
- CQL binary protocol version 4
- Works with any cluster size
- Both promise and callback-based API
- Row streaming and pipes
- Built-in TypeScript support
- Password authentication
Features that are planned for the driver to become production ready:
- Configurable load balancing and retry policies
- Faster performance, compared to DataStax Node.js driver
- SSL support
- Error handling, based on the Rust driver
- Migration guide from the DataStax driver
For other planned features see our Milestones
- CQL binary protocol specification version 4