La particularité de Cassandra
Fondamental : Quand utiliser Cassandra ?
Il est pertinent d'utiliser Cassandra pour un système :
Décentralisé : La base doit être distribuée. Les données ne seront pas centralisées en un seul et même serveur. Il y aura donc un cluster, ce cluster permettra de gérer la scalabilité du système. En effet, le volume de données contenu au sein du cluster peut être amené à évoluer rapidement et il est important que l'architecture mise en place puisse s'adapter à ses évolutions.
Tolérant aux pannes : L'accès aux données doit être garanti même en cas de pannes. Cassandra permet de paramétrer finement cette tolérance aux pannes.
Hautement Disponible : La base doit être accessible par n'importe quel utilisateur à n'importe quel moment (même en cas de pics d'utilisation du système).
Attention :
Une technologie répond à un besoin et non l'inverse ! Cassandra ne doit pas être utilisée si l'architecture souhaitée ne répond pas aux critères ci-dessus.
Conseil :
Cassandra est particulièrement adaptée aux bases devant gérer une forte demande côté clients ainsi qu'une haute fréquence de lectures/écritures.
Exemple :
Quelques exemples d'entreprises utilisant Cassandra (d'après le site d'Apache Cassandra) :
Apple, avec plus de 75 000 noeuds, et 10 PB de données (10 000 000 Giga).
Netflix, avec 2 500 noeuds, 420 TB de données, et 1000 milliards de requêtes par jour.
Ebay, 100 noeuds, 250 TB de données.