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 Node.js Driver for Apache Cassandra (formerly known as DataStax Node.js Driver). Although optimized for ScyllaDB, the driver is also compatible with Apache Cassandra®.
This driver is considered production-ready. Support for some optional driver features is planned for upcoming releases
npm install @scylladb/driver
Currently only linux x86_64 architecture is supported with planned support for other architectures in the future.
See the online documentation for ScyllaDB Node.js RS Driver. It includes the Getting Started guide, the Migration Guide, the API documentation, and more.
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
- Configurable load balancing, retry policies
- Simple address translation policy
- Error handling, based on the Rust driver
- SSL support
- Driver logging
- Faster performance, compared to DataStax Node.js driver(*)
(*) In most of the internally conducted benchmarks
For planned features see our Milestones
- CQL binary protocol specification version 4