Vous êtes sur la page 1sur 74

CASSANDRA DATABASE NoSQL

PLAN
Introduction au NoSQL & Cassandra
Architecture de Cassandra
Modèle de données
Installation de Cassandra
Le langage CQL
Gestion de données (INSERT et SELECT)
PLAN

Data
Modeling
Updating and deleting data
Hardware
Node clustering
PLAN

INTRODUCTION
INTRODUCTION
INTRODUCTION
INTRODUCTION
INTRODUCTION
Théorème du CAP ( Brewer ) nous informe qu’il impossible dans un SI de garantir de
manière synchrone les 3 contraintes suivantes :

• Cohérence : Tout les nœuds du SI voient les mêmes données à un instant T.

• Disponibilité : Toutes les requêtes envoyées reçoivent une réponse.

• Partitionnement : Aucune panne autre qu’une coupure totale du SI n’empêche le SI de


répondre à une requête (autonomie du réseau)

On ne peut alors satisfaire que 2 de ces contraintes de manière synchrone dans un instant T
ORIGINE DE CASSANDRA
Cassandra est une base de données NOSQL (Not Only SQL) orientée colonne.
Cassandra est développé par Facebook en 2007 la messagerie interne.
En 2008, le projet est cédé à la fondation Apache et devient "top-level-
project" à partir de 2010.
Cassandra est alors enrichie et de nouvelles fonctionnalités y sont ajoutées.
Cassandra est un projet open source.
Cassandra est, entre autre, utilisée par Twitter, NetFlix ou Cisco WebEx.
LES CONCEPTS DE CASSANDRA
Cassandra reprend les concepts de 2 bases de données existantes :

•BigTable, créé par Google, pour son modèle de données orienté


colonne et son mécanisme de persistance sur disque

•Dynamo, créé par Amazon, pour son architecture distribuée sans


noeud maître.
LES CONCEPTS DE CASSANDRA
Cassandra reprend les concepts de 2 bases de données existantes :

•BigTable, créé par Google, pour son modèle de données orienté


colonne et son mécanisme de persistance sur disque

•Dynamo, créé par Amazon, pour son architecture distribuée sans


noeud maître.
PLAN

ARCHITECTURE
ARCHITECTURE
ARCHITECTURE
LES CLUSTERS
Évolution Verticale vs Évolution Horizontale
LES CLUSTERS
Architecture d'un cluster
LES CLUSTERS
Architecture d'un cluster
CASSANDRA ET LES CLUSTERS
CASSANDRA ET LES CLUSTERS
CASSANDRA ET LES CLUSTERS
PLAN

Modèle de données
MODÈLE DE DONNÉES
MODÈLE DE DONNÉES
MODÈLE DE DONNÉES
MODÈLE DE DONNÉES
MODÈLE DE DONNÉES
PLAN

INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
INSTALLATION
PLAN

Le langage CQL
LE LANGAGE CQL
LE LANGAGE CQL
LE LANGAGE CQL
LE LANGAGE CQL
LE LANGAGE CQL
LE LANGAGE CQL
LE LANGAGE CQL
LE LANGAGE CQL
PLAN

Gestion de données (INSERT et SELECT)


GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)

Exercice : Gestion de données 1


GESTION DE DONNÉES (INSERT ET SELECT)

Cassandra et la restriction.
Comme expliqué précédemment, pour retrouver rapidement une
information, Cassandra a besoin de savoir dans quel nœud
l'information est située.
Elle doit alors chercher sa clé de partitionnement.
Conséquence, le WHERE s'applique sur la clé de partitionnement.
On peut néanmoins appliquer la restriction WHERE sur une autre
colonne au détriment de la performance (car il va parcourir tout le
cluster).
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)
GESTION DE DONNÉES (INSERT ET SELECT)

Exercice : Gestion de données 2.


JOINTURE
JOINTURE
COLLECTIONS
COLLECTIONS
COLLECTIONS
GESTION DE DONNÉES (INSERT ET SELECT)

Exercice : Gestion de données 3


TYPES DÉFINIS PAR L'UTILISATEUR
TYPES DÉFINIS PAR L'UTILISATEUR
TYPES DÉFINIS PAR L'UTILISATEUR
TYPES DÉFINIS PAR L'UTILISATEUR
Exercice : Gestion de données 4

Vous aimerez peut-être aussi