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.