Interagire con ScyllaDB in Node.js

ScyllaDB è un database NoSQL altamente performante e compatibile con Apache Cassandra. Grazie al driver cassandra-driver di DataStax, è possibile interagire con ScyllaDB anche da applicazioni Node.js in modo semplice e performante.

Prerequisiti

  • Node.js installato
  • Un'istanza funzionante di ScyllaDB (in locale o remota)
  • NPM o Yarn per la gestione dei pacchetti

Installazione del driver

Per prima cosa, installa il driver ufficiale Cassandra per Node.js:

npm install cassandra-driver

Connessione a ScyllaDB

Puoi connetterti a ScyllaDB specificando i nodi di contatto e il data center:


const cassandra = require('cassandra-driver');

const client = new cassandra.Client({
  contactPoints: ['127.0.0.1'],
  localDataCenter: 'datacenter1',
  keyspace: 'example'
});

async function createConnection() {
  try {
    await client.connect();
    console.log('Connessione a ScyllaDB riuscita');
  } catch (err) {
    console.error('Errore di connessione:', err);
  }
}

createConnection();

Eseguire query

Una volta connessi, è possibile eseguire query in modo asincrono:


async function insertData() {
  const query = 'INSERT INTO users (id, name, email) VALUES (?, ?, ?)';
  const params = [cassandra.types.Uuid.random(), 'Mario Rossi', 'mario@example.com'];

  try {
    await client.execute(query, params, { prepare: true });
    console.log('Dati inseriti con successo');
  } catch (err) {
    console.error('Errore durante l\'inserimento:', err);
  }
}

insertData();

Lettura dei dati

Per leggere i dati:


async function getData() {
  const query = 'SELECT id, name, email FROM users';

  try {
    const result = await client.execute(query);
    result.rows.forEach(row => {
      console.log(row.id, row.name, row.email);
    });
  } catch (err) {
    console.error('Errore durante la lettura:', err);
  }
}

getData();

Conclusione

Utilizzando il driver Cassandra per Node.js, puoi facilmente integrare ScyllaDB nelle tue applicazioni JavaScript. Grazie al supporto per query asincrone e operazioni su larga scala, ScyllaDB si presta bene a scenari ad alte prestazioni e grandi volumi di dati.

Torna su