scylladb-driver-alpha
v0.2.0
Published
Async CQL driver for Node.js, built on top of Rust driver, optimized for ScyllaDB!
Readme
ScyllaDB Node.js-RS Driver
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.
Getting started
Installation
npm install scylladb-driver-alpha
Currently only linux x86_64 architecture is supported with planned support for other architectures in the future.
Documentation
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.
Examples
You can find example usages of the driver in the examples directory.
Features and roadmap
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
Reference Documentation
- CQL binary protocol specification version 4
