Apache Cassandra è un database NoSQL open-source, distribuito e di tipo wide-column store (o column-family). È stato originariamente sviluppato da Facebook e poi donato alla Apache Foundation. È progettato per un unico scopo: una scalabilità e una disponibilità massicce.
L'Architettura di Cassandra
Cassandra è costruito per non avere "single point of failure".
- Architettura Decentralizzata (Peer-to-Peer): A differenza di molti sistemi, Cassandra non ha un nodo "master". Tutti i nodi nel cluster sono uguali. Questo lo rende estremamente resiliente: se un nodo va offline, il cluster continua a funzionare senza interruzioni.
- Replica dei Dati: I dati vengono replicati automaticamente su più nodi (e anche su più data center). Puoi configurare il "replication factor" per decidere su quanti nodi ogni pezzo di dato deve essere salvato.
- Consistenza Configurabile (Tunable Consistency): Cassandra permette di scegliere, per ogni singola query, il livello di consistenza desiderato, in linea con il Teorema CAP. Puoi scegliere tra una consistenza forte (più lenta) o una consistenza più debole in cambio di una latenza più bassa.
Il Modello a Colonna Larga
Sebbene venga chiamato wide-column, è più facile pensarlo come una tabella hash a due livelli: una tabella di righe, dove ogni riga è una tabella di colonne. A differenza di un database SQL, ogni riga può avere un set di colonne diverso. È ottimizzato per scritture velocissime e per letture che recuperano un gruppo di colonne da una riga specifica.
Quando Usare Cassandra?
Cassandra brilla in scenari con requisiti estremi:
- Enormi Volumi di Dati: Quando devi archiviare centinaia di terabyte o petabyte di dati.
- Carichi di Lavoro con Molte Scritture: La sua architettura è ottimizzata per un'ingestione di dati ad altissima velocità.
- Alta Disponibilità e Tolleranza ai Guasti: Per applicazioni che non possono permettersi alcun downtime. Se un intero data center va offline, un cluster Cassandra distribuito geograficamente può continuare a funzionare.
Casi d'uso tipici: Dati da sensori IoT, log di eventi, dati di serie temporali, backend per applicazioni web su scala globale. Netflix e Apple sono tra i più grandi utilizzatori di Cassandra.
Hai bisogno di una soluzione su misura?
Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.
Richiedi una consulenza