Cassandra
Cassandra est une alternative à MySQL, Oracle ou autre gestionnaire de données pour de très grandes quantités de requêtes.
Il convient à des bases de données entièrement distribuées et hautement extensibles, donc pour le trafic important de sites tels que Facebook, avec des millions de requêtes par heure.
Le modèle distribué permet de stocker les informations sur de nombreux serveurs différents gérés par un système central.
Cassandra est basé sur le modèle de données non relationnel BigTable crée par Google et utilisé par l'index de son moteur de recherche, fonctionnant sur Dynamo, le modèle de stockage d'Amazon.
Il a été mis en open source par Facebook en 2008 et alors pris en charge par la fondation Apache.
Le mot Cassandra (Cassandre) vient de la mythologie grecque: C'est une princesse qui a le pouvoir de prédire l'avenir mais dont le destin est de ne jamais être crue. Le logo représentant un regard féminin se rapporte à cette idée de vision. On suppose que le développeur s'attendait à ne pas être cru quand à l'avenir de ce système.
SQL ou non SQL?
Cassandra s'inscrit dans le mouvement NoSQL qui veut simplifier les bases de données en supprimant l'aspect relationnel.
Les tables n'ont plus un schéma fixe prédéfini (que l'on peut en fait modifier ultérieurement), et peuvent évoluer horizontalement (quand aux colonnes) autant que verticalement (quand au lignes, donc aux enregistrements).
NoSQL signifie en fait Not Only SQL (pas seulement SQL), donc cela ne remet pas en cause le langage d'interrogation, qui est toujours SQL.
Cassandra vs MySQL
Voici un comparatif de performances fourni par Apache:
- Ecriture: MySQL: 300 ms. Cassandra: 0,12 ms.
- Lecture: MySQL: 350 ms. Cassandra: 15 ms.
Différences de conception:
- Nombre de colonnes: 4096. Cassandra: 2 milliards.
Cassandra n'a pas de schéma et pas de table. Le nombre de colonnes peut varier d'une ligne à l'autre.
Les utilisateurs
Est à l'origine de Cassandra, même si le projet a ensuite été intégré à Apache.
Voir Les logiciels qui font tourner Facebook.
Twitter n'utilise pas à ce jour Cassandra pour gérer les tweets, car il lui faudrait réécrire entièrement le système, il l'utilise pour les données statistiques et la géolocalisation.
Digg
Se plaignant des lenteurs de MySQL, Digg a décidé de réimplémenter entièrement sa gestion de données sous Cassandra.
Voir Pourquoi Digg remplace MySQL. (Anglais).
Netflix
L'entreprise de streaming TV préfère renoncer aux avantages du relationnel pour l'extensibilité de Cassandra.
Conclusion
Cassandra a été conçu au départ pour Facebook sur la base d'un modèle fait pour Google.
Il tend à être utilisé par de plus en plus d'acteurs différents, mais cela reste un produit nouveau qui n'a pas été confronté à toutes la variété des utilisations que l'on peut en faire. On peut s'attendre à des revers en l'adaptant à une nouvelle application.
Plus d'informations
|
|
|
