Funzionalità di base e avanzate di ScyllaDB

ScyllaDB è un database NoSQL distribuito, compatibile con Apache Cassandra, progettato per offrire elevate prestazioni, bassa latenza e scalabilità lineare. Basato su C++, sfrutta un'architettura completamente asincrona e una gestione delle risorse altamente ottimizzata.

Funzionalità di Base

  • Compatibilità con Cassandra: ScyllaDB supporta il protocollo CQL (Cassandra Query Language) e l'interfaccia client.
  • Architettura peer-to-peer: tutti i nodi sono uguali e cooperano per fornire una distribuzione uniforme dei dati.
  • Sharding automatico: i dati sono suddivisi automaticamente tra i core CPU, migliorando il parallelismo.
  • Consistenza configurabile: è possibile bilanciare tra disponibilità e coerenza secondo il modello CAP.
  • Replica e tolleranza ai guasti: supporta la replica automatica dei dati e la gestione delle partizioni di rete.
CREATE TABLE utenti (
  id UUID PRIMARY KEY,
  nome TEXT,
  email TEXT
);

Funzionalità Avanzate

  • Seastar Framework: utilizza un framework asincrono che consente l'eliminazione dei lock e una gestione fine delle CPU.
  • Alternator: un'API compatibile con DynamoDB per semplificare la migrazione delle applicazioni cloud-native.
  • Autotuning: ottimizza automaticamente l'uso delle risorse hardware (memoria, I/O, CPU).
  • Materialized Views: supporta viste materializzate per ottimizzare le query su diversi pattern di accesso.
  • Secondary Indexes: consente query efficienti su colonne non chiave.
CREATE MATERIALIZED VIEW utenti_per_email AS
  SELECT * FROM utenti
  WHERE email IS NOT NULL AND id IS NOT NULL
  PRIMARY KEY (email, id);

Monitoraggio e Strumenti

  • Scylla Manager: per operazioni automatizzate come il backup, il repair e l'upgrade.
  • Scylla Monitoring Stack: basata su Prometheus e Grafana, consente il monitoraggio dettagliato delle metriche.

Grazie alla sua architettura moderna e all'attenzione alle performance, ScyllaDB è una soluzione adatta a casi d'uso mission-critical come IoT, adtech, fintech e gaming.

Torna su