ScyllaDB is a high-performance NoSQL database compatible with Apache Cassandra. Thanks to the DataStax cassandra-driver
, you can interact with ScyllaDB from Node.js applications easily and efficiently.
Prerequisites
- Node.js installed
- A running instance of ScyllaDB (local or remote)
- NPM or Yarn for package management
Driver Installation
First, install the official Cassandra driver for Node.js:
npm install cassandra-driver
Connecting to ScyllaDB
You can connect to ScyllaDB by specifying the contact points and the 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('Successfully connected to ScyllaDB');
} catch (err) {
console.error('Connection error:', err);
}
}
createConnection();
Executing Queries
Once connected, you can execute queries asynchronously:
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('Data inserted successfully');
} catch (err) {
console.error('Error during insertion:', err);
}
}
insertData();
Reading Data
To read data:
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('Error during data reading:', err);
}
}
getData();
Conclusion
By using the Cassandra driver for Node.js, you can easily integrate ScyllaDB into your JavaScript applications. Thanks to support for asynchronous queries and large-scale operations, ScyllaDB is well suited for high-performance scenarios and large data volumes.