ScyllaDB è un database NoSQL distribuito ad alte prestazioni compatibile con Apache Cassandra. Grazie alla libreria cassandra-driver
di DataStax, è possibile interagire facilmente con ScyllaDB utilizzando Python. In questo articolo vedremo come connettersi a un cluster, creare una tabella, inserire e leggere dati.
Installazione del driver Cassandra
Per iniziare, è necessario installare il driver ufficiale:
pip install cassandra-driver
Connessione al cluster ScyllaDB
Per connettersi al cluster, è sufficiente specificare gli IP dei nodi:
from cassandra.cluster import Cluster
# Connessione al cluster ScyllaDB
cluster = Cluster(['127.0.0.1']) # Inserire gli IP dei nodi ScyllaDB
session = cluster.connect()
# Creazione di un keyspace (se non esiste)
session.execute("""
CREATE KEYSPACE IF NOT EXISTS test_keyspace
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}
""")
# Selezione del keyspace
session.set_keyspace('test_keyspace')
Creazione di una tabella
Creiamo ora una tabella semplice per contenere dati utente:
session.execute("""
CREATE TABLE IF NOT EXISTS users (
id UUID PRIMARY KEY,
name text,
age int
)
""")
Inserimento di dati
Possiamo usare istruzioni preparate per inserire dati:
import uuid
insert_stmt = session.prepare("INSERT INTO users (id, name, age) VALUES (?, ?, ?)")
session.execute(insert_stmt, (uuid.uuid4(), 'Alice', 30))
session.execute(insert_stmt, (uuid.uuid4(), 'Bob', 25))
Lettura dei dati
Infine, leggiamo i dati dalla tabella:
rows = session.execute("SELECT id, name, age FROM users")
for row in rows:
print(f"ID: {row.id}, Name: {row.name}, Age: {row.age}")
Conclusione
In questo articolo abbiamo visto i passaggi fondamentali per connettersi a ScyllaDB usando Python: connessione al cluster, creazione di un keyspace e di una tabella, inserimento e lettura dei dati. ScyllaDB, grazie alla sua compatibilità con Cassandra e alle sue prestazioni elevate, è un’ottima scelta per applicazioni distribuite ad alta scalabilità.