Apache Cassandra può essere un database distribuito altamente scalabile e ad alte prestazioni, progettato per gestire grandi quantità di conoscenza su molti server di materie prime, fornendo un’elevata disponibilità senza un singolo punto di guasto. è una sorta di database NoSQL. ci permette di capire prima di tutto cosa fa un database NoSQL.

NoSQLDatabase

Un database NoSQL (a volte chiamato Non solo SQL) può essere un database che fornisce un meccanismo per memorizzare e recuperare i dati oltre alle relazioni tabulari utilizzate nei database relazionali. Questi database sono privi di schemi, supportano una facile replicazione, hanno API semplici, eventualmente coerenti, e possono gestire enormi quantità di conoscenza.

L’obiettivo primario di un database NoSQL è quello di possedere

semplicità del design,

scalatura orizzontale, e

un controllo più accurato della disponibilità.

I database NoSql utilizzano strutture di dati diverse rispetto ai database relazionali. Rende alcune operazioni più veloci in NoSQL. L’idoneità di un dato database NoSQL dipende dalla questione che deve risolvere.

NoSQL vs. database elettronico

La seguente tabella elenca i punti che differenziano un database elettronico da un database NoSQL.

Database relazionale NoSql Database

Supporta un potente linguaggio di comando. Supporta un linguaggio di comando molto semplice.

Ha uno schema duro e veloce. Non ha uno schema fisso.

Segue ACID (Atomicità, Consistenza, Isolamento e Durabilità). È solo “eventualmente coerente”.

Supporta le transazioni. non supporta le transazioni.

Oltre a Cassandra, abbiamo i successivi database NoSQL che sono abbastanza popolari –

Apache HBase – HBase è un database distribuito open source, non relazionale, modellato sul modello della BigTable di Google ed è scritto in Java. E’ sviluppato come un progetto di vicinato di Apache Hadoop e gira su HDFS, fornendo capacità simili alle BigTable per Hadoop.

MongoDB – MongoDB può essere un sistema di database orientato ai documenti multipiattaforma che evita l’uso della normale struttura di database elettronici basati su tabelle a favore di documenti simili a JSON con schemi dinamici che rendono più facile e veloce il mescolamento delle conoscenze in certi tipi di applicazioni.

Cos’è Apache Cassandra?

Apache Cassandra è un sistema di archiviazione (database) open source, distribuito e decentralizzato/distribuito, per la gestione di grandi quantità di dati strutturati aperti in tutto il pianeta. Fornisce un servizio altamente disponibile senza un singolo punto di guasto.

Di seguito sono elencati alcuni dei punti salienti di Apache Cassandra –

È scalabile, tollerante ai guasti e coerente.

È un database orientato alle colonne.

Il suo design di distribuzione è basato su Amazon Dynamo e il suo modello di dati su Bigtable di Google.

Creato su Facebook, si differenzia nettamente dai sistemi di gestione di database elettronici.

Cassandra implementa un modello di replica in stile Dynamo senza un singolo punto di guasto, ma aggiunge un modello di dati più potente “famiglia di colonne”.

Cassandra viene utilizzata da alcune delle più importanti aziende come Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix e altre ancora.

Caratteristiche di Cassandra

Cassandra è diventata così popolare grazie alle sue eccezionali caratteristiche tecniche. Di seguito sono riportate alcune delle caratteristiche di Cassandra:

Scalabilità elastica – Cassandra è molto scalabile; permette di avere più hardware per accogliere più clienti e più dati secondo le esigenze.

Sempre in architettura – Cassandra non ha un singolo punto di guasto ed è continuamente disponibile per applicazioni business-critical che non possono permettersi un guasto.

Prestazioni veloci su scala lineare – Cassandra è scalabile in modo lineare, cioè aumenta la produttività man mano che si aumenta la quantità di nodi all’interno del cluster. Pertanto mantiene un tempo di reazione veloce .

Archiviazione dati flessibile – Cassandra ospita tutti i possibili formati di dati, tra cui: strutturati, semi-strutturati e non strutturati. Può accogliere dinamicamente le modifiche alle vostre strutture dati in base alle vostre esigenze.

Facile distribuzione dei dati – Cassandra fornisce la duttilità di distribuire i dati dove si desidera, replicando i dati su più data center.

Supporto delle transazioni – Cassandra supporta proprietà come Atomicità, Consistenza, Isolamento e robustezza (ACID).

Scrittura veloce – Cassandra è stata progettata per funzionare su hardware a basso costo. Esegue scritture velocissime e può memorizzare molti terabyte di conoscenza, senza sacrificare l’efficienza di lettura.