Cassandra (base de données)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Cassandre (homonymie).
Cassandra
Logo
Logo

Développeur Fondation Apache
Première version 2008
Dernière version 2.2.0 () [+/-]
État du projet en développement actif
Écrit en Java
Environnement Multiplate-forme
Type Base de données orientée colonnes
Licence Licence Apache 2 (Logiciel libre)
Site web http://cassandra.apache.org
Helenos est une interface graphique pour Cassandra

Apache Cassandra est un système de gestion de base de données (SGBD) NoSQL. Le projet est Open source et porté par la Fondation Apache. Cassandra est conçue pour gérer des quantités massives de données réparties sur plusieurs serveurs (cluster), en assurant tout particulièrement une disponibilité maximale des données et en éliminant les points individuels de défaillance.

Historique[modifier | modifier le code]

Initialement développée par Facebook, l'application a été libérée dans l'espace open-source en juillet 2008, et rapidement adoptée par des entreprises gérant d'importants volumes de données, telles que Twitter[1], Netflix[2] ou digg.com[3]. Jeff Hammerbacher, directeur de la division Data chez Facebook, a décrit Cassandra comme une application du type de BigTable servie par une infrastructure proche de Amazon DynamoDB (en).

En 2015 selon db-engines.com[4], Cassandra occupe la 8e place dans le classement des systèmes de gestion de bases de données les plus populaires tout types confondus, et la deuxième place pour les systèmes de gestion de bases de données NoSQL (derrière MongoDB).

Architecture[modifier | modifier le code]

Cassandra est basée sur une structuration en paires clé-valeur de type eventually consistent[5]. L'architecture relationnelle est orientée colonne, avec des éléments plus traditionnels (stockage horizontal des paires). Les données sont distribuées selon leur clé primaire.

Le langage de requête s'appelle CQL pour Cassandra Query Language. Voici un exemple de création d'un espace de clés contenant une famille de colonne en CQL 3.0[6] :

CREATE KEYSPACE MonEspaceDeCle
  WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };

USE MonEspaceDeCle;

CREATE COLUMNFAMILY MesColonnes (id text, Nom text, Prenom text, PRIMARY KEY(id));

INSERT INTO MesColonnes (id, Nom, Prenom) VALUES ('1', 'Doe', 'John');

SELECT * FROM MesColonnes;

Ce qui donne :

 id | nom | prenom
----+-----+--------
  1 | Doe |   John

(1 rows)

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]