Bases de données NoSQL

Database Technologies · lab

Voir tous les documents en bases de données

Bases de données NoSQL

Tutrice

Dr. Abir KHALDI

[email protected]

1

Plan

(cid:1) Introduction aux bases de données NoSql

(cid:1) Base de données orientée documents : MongoDB

(cid:1) Base de données orientée colonne : Hbase

(cid:1) Base de données orientée Graphe : Neo4j

(cid:1) Bases de données orientées clé/valeur : Redis

Dr Abir KHALDI

2

Objectifs pédagogiques

(cid:1) Comprendre la logique des bases de données NoSQL

(cid:1) Maîtriser les bases de données orientées document avec MongoDB

(cid:1) Maîtriser les bases de données orientées colonne avec Hbase

(cid:1) Maîtriser les bases de données orientées graphe avec Neo4J

(cid:1) Maîtriser les bases de données orientées clé/valeur avec Redis

Dr Abir KHALDI

3

Connaissance requise

(cid:1) Des connaissances générales en:

(cid:2) Systèmes d'information;

(cid:2) Bases de données relationnelles.

Dr Abir KHALDI

4

Chapitre 1.

Introduction aux Bases de données NoSql

(cid:1) Modèle relationnel

(cid:1) Bases de Données Non Relationnelle

(cid:1) Bases de données NoSQL

(cid:1) Bases de données NoSQL

(cid:1) BD relationnelle vs BD NoSql

(cid:1) Théorème CAP

(cid:1) Types Bases de données NoSQL

Dr Abir KHALDI

5

1.1 Modèle relationnel

(cid:1) Pour construire une base de données relationnelle:

1. Conception d'un MCD;

2. Passage du MCD au MLD.

Publicité

(cid:1) Ces deux modèles permettent d'identifier:

(cid:2) les entités (ou classes);

(cid:2) les attributs de ces entités;

(cid:2) les attributs de ces entités;

(cid:2) les relations qui existent entre ces entités.

(cid:1) En supposant que:

(cid:2) les données analysées sont représentatives des données à stocker;

(cid:2) le format des données restera inchangé au cours du temps.

Dr Abir KHALDI

6

1.1 Modèle relationnel: Problématique

(cid:1) Avec l’explosion des médias sociaux, le contenu axé sur l’utilisateur a connu

une croissance rapide et a augmenté le volume et le type de données

produites, gérées, analysées et archivées. En plus, de nouvelles sources de

données, telles que des capteurs, des GPS et d’autres systèmes de surveillance,

génèrent régulièrement d’énormes volumes de données.

opportunités pour

(cid:1) Ce grand volume de données, également appelés « Big data », ont introduit de

nouveaux défis et opportunités pour le stockage,

l’analyse

l’analyse et

stockage,

l’archivage des données. En plus, les données deviennent de plus en plus semi-

structurées et rares. Cela signifie que les bases de données SGBDR qui

nécessitent une définition de schéma et des références relationnelles sont

examinées.

gestion,

la gestion,

(cid:2) Traitement de données peu structurées

(cid:2) Traitement ayant une structure changeante..

Dr Abir KHALDI

7

Solution: Bases de Données Non Relationnelle

Solution: les Bases de Données Non Relationnelle

(cid:1) Les BDD non relationnelles sont parfaitement adaptées aux traitements de

données peu structurées et/ou ayant une structure changeante.

(cid:1) Google est le premier acteur économique d'importance qui a fait la promotion de

ce type de base. Il a mis en place un système dédié à la manipulation de gros

volumes de données basé sur:

volumes de données basé sur:

(cid:2) un système de fichiers distribués;

(cid:2) un système de bases de données orientée colonnes;

Publicité

(cid:2) un système de parallélisation des traitements nommé MapReduce.

Dr Abir KHALDI

8

2. Bases de Données Non Relationnelle :

Eléments d’un Framework Big Data

Les Frameworks de Big Data recouvrent 3 éléments complémentaires:

(cid:1) un système de bases de données non relationnelles appelées NoSQL;

(cid:1) un système de distribution des traitements;

(cid:1) un système de stockage de données en mémoire pour accélérer le traitements.

Dr Abir KHALDI

9

3. Bases de données NoSQL

"Le NoSQL regroupe de nombreuses bases de données, récentes pour la plupart,

qui

se caractérisent par une logique de représentation de données non

relationnelle et qui n’offrent donc pas une interface de requêtes en SQL."

Dr Abir KHALDI

10

3.Bases de données NoSQL : Caractéristiques

NoSQL: Not only SQL.

(cid:1) Les BDD NoSQL regroupent des solutions récentes qui se différencient du modèle

SQL par une logique de représentation de données différente.

(cid:1) Ils ont pris récemment une nouvelle dimension dans le cadre du stockage de très

grandes quantités de données: Big Data.

(cid:1) Ils constituent une nouvelle manière de représenter l'information en

(cid:1) Ils constituent une nouvelle manière de représenter l'information en

s’affranchissant des contraintes ACID:

(cid:2) Atomicité: une transaction se fait au complet ou pas du tout.

(cid:2) Cohérence: assure que chaque transaction amènera le système d'un état valide à un

autre état valide.

(cid:2) Isolation: les écritures et lectures des transactions réussies ne seront pas affectées

par les écritures et lectures d’autres transactions, qu’elles soient ou non réussies.

(cid:2) Durabilité: lorsqu'une transaction est confirmée, elle demeure enregistrée même à la

suite d'une panne.

Dr Abir KHALDI

11

4. BD relationnelle vs BD NoSql

Dr Abir KHALDI

12

5. Théorème CAP

Les propriétés que peuvent vérifier les systèmes de bases de données:

(cid:1) la cohérence (Consistency) : les clients lisent tous la même valeur au même moment,

Publicité

(cid:1) la disponibilité (Availability) : les données peuvent être lues et écrites à tout moment,

(cid:1) la résistance aux Partitions : les données peuvent être distribuées et résister à des

pannes de communication entre machines.

Selon le théorème CAP, chaque système privilégie deux de ces critères. Par exemple les

Selon le théorème CAP, chaque système privilégie deux de ces critères. Par exemple les

SGBD SQL ne garantissent que le couple CA, Cassandra privilégie AP, Hbase et

MongoDB uniquement CP.

Dr Abir KHALDI

13

6.Types Bases de données NoSQL

Attention: NoSQL signie Not Only SQL et non pas No SQL.

(cid:1) Il s'agit de compléments aux SGBDR pour des besoins spécifiques et non de

solutions de remplacement.

(cid:1) Les 5 représentations de base de données NoSQL:

(cid:2) BDD orientée Clé-valeur

(cid:2) BDD orientée Document

(cid:2) BDD orientée Document

(cid:2) BDD orientée Colonnes

(cid:2) BDD orientée Graphe

Dr Abir KHALDI

14

6.Types Bases de données NoSQL:

BDD orientée clé/valeur

C'est une représentation très simple avec une structure adaptée à la gestion du cache

ou pour un accès rapide aux informations. Elle fonctionne comme un grand tableau

associatif et retourne une valeur (complexe) a partir d'une clé.

(cid:1) Les lectures et écritures sont réduites à un accès disque simple.

(cid:1) Exemples implémentation:

(cid:2) Riak

(cid:2) Redis

(cid:2) Voldemort

(cid:2) DynamoDB

Dr Abir KHALDI

15

6.Types Bases de données NoSQL:

BDD orientée colonnes

Une autre évolution du modèle clé-valeur qui permet de disposer de plusieurs valeurs,

permettant ainsi de stocker les relations de type « un-plusieurs ».

(cid:1) La représentation orientée colonnes est celle qui se rapproche le plus des tables

dans une base de données relationnelles.

(cid:1) Elles permettent d'être beaucoup plus évolutive et flexible puisque chaque ligne

peut disposer de colonnes différentes.

Publicité

(cid:1) Exemple d'implémentations:

(cid:2) HBase

(cid:2) Cassandra

Dr Abir KHALDI

16

6.Types Bases de données NoSQL:

BDD orientée documents

C'est un type de base de données non relationnelle conçu pour stocker et interroger

des données sous forme de documents de type JSON.

(cid:1) La représentation orientée document est plus

adaptée au monde de l'internet.

adaptée au monde de l'internet

(cid:1) Cette représentation est

très proche de la

représentation clé-valeur à l'exception de la valeur

qui est représentée sous forme d'un document.

(cid:1) Les données d’un document sont organisées de

manière hiérarchique: un fichier XML ou JSON.

(cid:1) Exemples d'implémentation:

(cid:2) CouchDB

(cid:2) MongoDB

Dr Abir KHALDI

17

6.Types Bases de données NoSQL:

BDD orientée graphe

Une représentation qui permet la modélisation, le stockage et la manipulation de

données très complexes liées par des relations variées.

(cid:1) Cette représentation pallie à des problèmes impossibles à résoudre avec des BDD

relationnelles.

(cid:1) Domaine d’utilisation: les réseaux sociaux où l'aspect graphe prend tout son

(cid:1) Domaine d’utilisation: les réseaux sociaux où l'aspect graphe prend tout son

sens, mais aussi où des relations complexes entre les acteurs ont besoin d'être

décrites.

(cid:1) Implémentations:

(cid:2) Neo4j

(cid:2) HypergraphDB

(cid:2) FlockDB

Dr Abir KHALDI

18