scylla-javascript-driver icon indicating copy to clipboard operation
scylla-javascript-driver copied to clipboard

A ScyllaDB Driver alternative for Nodejs, Javascript and Typescript written using Node API through Rust bindings

scylladb

๐Ÿš€ JavaScript driver for ScyllaDB. Pre-release stage. ๐Ÿงช๐Ÿ”ง

โš ๏ธ Disclaimer โš ๏ธ

This repository and the associated npm package are currently in a ๐Ÿฃ pre-release state and are being used for testing ๐Ÿงช purposes. They are subject to change without notice ๐Ÿ“. Eventually, they will be moved to the ExpressoTS organization under the scylladb-driver package name. Users are encouraged to use this driver with caution โ— and not in production environments until the official release under the ExpressoTS organization.

๐Ÿš€ Getting Started ๐Ÿš€

These instructions will get you a copy of the project up and running ๐Ÿƒ on your local machine for development and testing purposes.

๐Ÿ“‹ Prerequisites ๐Ÿ“‹

  • Docker: We use Docker ๐Ÿณ to run the Scylla database easily without the need for a complex local setup.
  • Node.js: Make sure you have Node.js installed on your system to run JavaScript code.

๐ŸŒŸ Quickstart ๐ŸŒŸ

  1. Start ScyllaDB in Docker:

    Run a ScyllaDB instance using the following Docker command:

    docker run --name scylladb -d --rm -it -p 9042:9042 scylladb/scylla --smp 2
    

    This command pulls the Scylla image if it's not already present on your system, and starts a new ๐ŸŒŸ container with the Scylla database.

  2. Use the JavaScript Driver:

    Here's a simple script to connect to the database and execute a query:

    import { Cluster } from "@lambda-group/scylladb";
    
    const cluster = new Cluster({
      nodes: ["127.0.0.1:9042"],
    });
    
    const session = await cluster.connect("system_schema");
    
    const result = await session
      .execute("SELECT * FROM scylla_tables limit ?", [1])
      .catch((err) => console.error(err));
    
    console.log(result);
    

    This script connects to the ScyllaDB instance running on your machine, performs a query, and logs the result.

๐Ÿ“ฅ Installing ๐Ÿ“ฅ

To install this package, use the following command:

npm install @lambda-group/scylladb

๐Ÿ™ Acknowledgments ๐Ÿ™

  • Thanks to the developers of ScyllaDB for creating such a high-performance database.
  • Thanks to the Rust community for providing the robust scylla crate.
  • Thanks to the napi-rs project for enabling efficient Rust and Node.js integrations.