The ScyllaDB team is pleased to announce nodejs-rs-driver, a new driver for ScyllaDB for Node.js with support for Typescript. 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 optimised for ScyllaDB, the driver is also compatible with Apache Cassandra®.
This is the first version we consider to be production ready. If you encounter any bugs in the current release, we will be happy to help. Just report the issue on GitHub repository. If you are currently using Node.js Driver for Apache Cassandra check out our migration guide.
Current feature support
As of this release we support the following features:
- 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 Node.js Driver for Apache Cassandra(*)
For other planned features, see our Milestones
(*) In most of the internally conducted benchmarks
You can install the driver through npm:
npm i @scylladb/driver
https://www.npmjs.com/package/@scylladb/driver
The current version is considered production-ready. Linux x86_64 and linux arm64 architectures are supported with this release (MacOS architectures should be supported in the coming releases). If you want to try other architectures, you will need to build the binaries from the source code.