/scylla-javascript-driver

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

Primary LanguageRustMIT LicenseMIT

ScyllaDB Unnoficial Discord Server

Scylla Nodejs Driver

๐Ÿš€ ScyllaDB NodeJS Driver ๐Ÿงช๐Ÿ”ง

โš ๏ธ 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 ๐Ÿ“. Users are encouraged to use this driver with caution โ— and not in production environments until the official release.

๐Ÿš€ 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(console.error);
    
    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@latest

๐Ÿ“š Examples ๐Ÿ“š

Reference wise you can guide yourself through the examples/ folder in the repo.

๐Ÿ™ 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.