Vous êtes sur la page 1sur 13

INTRODUCTION............................................................................................

2
I. GENERALITES.......................................................................................2
II. CARACTERISTIQUE DES NoSQL.................................................2
III. Les trois propriétés fondamentales pour les systèmes distribués :..............3
IV. MODELES OU TYPES DE BASE DE DONNE NO SQL..........4
1. CLE-VALEUR.............................................................................4
2. REPRESENTATION DE VENTES EN RELATIONNEL..........4
3. Représentation de ventes en relationnel........................................7
V. GRAPHE...................................................................................................8
VI. Comparaison entre SGBDR et modèles de SGBD NoSQL..........10
1. Cas pratique sur le No SQL : Mongo DB...................................10
2. QUELQUES SYNTAXE : MONGODB....................................11
2.1 Récupérer le document d'une collection....................................11
2.2 Mettre à jour le document dans une collection..........................11
2.3 Supprimer le document d'une collection...................................12
2.4 Renommer la collection..............................................................12
VII Avantages et inconvénient de No SQL............................................12
Avantages..........................................................................................................12
CONCLUSION...............................................................................................13
BIBLIOGRAPHIE..........................................................................................13

BIG DATA Page 1


INTRODUCTION
En informatique le terme NOSQL regroupe des solutions récentes qui se
différencient du modèle SQL par une logique de représentation des données
différentes. Leurs principaux avantages sont leurs performances et leur capacité
à traiter de très grands volumes de données ; en particulier lorsque cela concerne
le stockage de données dont la structure varie. Toutefois, le terme NOSQL a
pris récemment une nouvelle dimension dans le cadre du stockage big data. Le
big data est une innovation qui se trouve à la frontière entre technologie et
management.

I. GENERALITES
Le terme « NoSQL » a été inventé en 2009 lors d’un événement sur les
bases de données distribuées. Le terme est vague, incorrect (certains moteurs
NoSQL utilisent des variantes du langage SQL, par exemple Cassandra), mais
présente l’avantage d’avoir un effet marketing et polémique certain. Dans cette
partie, nous allons aborder les caractéristiques générales des moteurs NoSQL,
historiquement, conceptuellement et techniquement, en regard des bases de
données relationnelles, mais aussi indépendamment de cette référence

II. CARACTERISTIQUE DES NoSQL


Les SGBD NoSQL ont plusieurs caractéristiques parmi lesquelles :

- Simplification en renonçant aux fonctionnalités classiques des SGBDR :


- Redondance (via réplication)
- Pas forcément de schéma normalisé, initialement voire à terme
- Pas de tables mais des collections
- Rarement du SQL (L4G déclaratif, complet au sens de Turing depuis
SQL-99) mais API simple ou langage spécialisé
- Pas forcément de jointure mais multiplication des requêtes,
cache/réplication/données non normalisées, données imbriquées
- Transactions pas forcément ACID mais plutôt BASE
- s’impose pour un système distribué
- AP (accepte de recevoir des données éventuellement incohérentes) voire
CP (attendre que les données soient cohérentes)

BIG DATA Page 2


III. Les trois propriétés fondamentales pour les systèmes distribués :
- cohérence ou Consistance : tous les nœuds du système voient exactement
les mêmes données au même moment
- availability ou Disponibilité : la perte de nœuds n'empêche pas les
survivants de continuer à fonctionner correctement, les données restent
accessibles
- partition tolérance ou Résistance au partitionnement : le système étant
partitionné, aucune panne moins importante qu'une coupure totale du
réseau ne doit l’empêcher de répondre correctement(en cas de
partitionnement )
Théorème de CAP(Brewer, 2000): Dans un système distribué, il est impossible
d’obtenir ces 3 propriétés en même temps, il faut en choisir 2 parmi les 3

PROPRIETES BASE :
– Basically Available : le système doit toujours être accessible (ou
indisponible sur de courtes périodes)
– Soft state : l’état de la BD n’est pas garanti à un instant donné (les
mises à jour ne sont pas immédiates : cf. cohérence à terme)
– Eventual consistency : la cohérence des données à un instant donné
BIG DATA Page 3
n’est pas primordiale (mais assurée à terme : verrouillage optimiste
en reportant à plus tard la vérification de l’intégrité)

IV. MODELES OU TYPES DE BASE DE DONNEE NO SQL


On peut citer cinq représentations de la base de donne
1. CLE-VALEUR
Définition
– BD = 1 tableau associatif unidimensionnel
– Chaque objet de la base représenté par un couple (clé, valeur) est
identifié par une clé unique qui est le seul moyen d’accès à l’objet
– Structure de l’objet libre (du ressort du programmeur)
Variante : clés triées en ordre lexicographique
2. LES 4 OPERATIONS CRUD :
• create(clé,valeur) : crée un couple (clé,valeur)
• read(clé) : lit une valeur à partir de sa clé
• update(clé,valeur) : modifie une valeur à partir de sa clé
• delete(clé) : supprime un couple à partir de sa clé
Souvent interface HTTP REST (Representational State Transfer)
disponible depuis nʼimporte quel langage

• Chaque entrée de la base de données est représentée par une clé et une
valeur quelconque
• La valeur est une donnée non structurée
• Permet de sauvegarder une très grande quantité de données facilement
• La recherche dans les valeurs n’est pas évidente
• Les données n’ont aucune structure
2. REPRESENTATION DE VENTES EN RELATIONNEL

BIG DATA Page 4


1- COLONNE,
Définition
 Données stockées en colonnes

La colonne est l’entité de base représentant un champ de donnée,


chaque colonne est définie par un couple (clé, valeur) avec une
estampille (pour gérer les versions et les conflits)
Une super-colonne est une colonne contenant d’autres colonnes
Une famille de colonnes regroupe plusieurs colonnes ou super colonnes où les
colonnes sont regroupées par ligne et chaque ligne
est identifiée par un identifiant unique et par un nom unique

• opérations les requêtes doivent être prédéfinies en fonction de l’organisation


en colonnes (et super-colonnes et familles de colonnes) choisie

• l’inverse des bd relationnelles où les données sont par rangées


• offre une très grande vitesse
• très efficace lorsque les données des colonnes se ressemblent
• adapté à l’interrogation de données
• peu efficace pour la mise à jour des données

Représentation de ventes en relationnel

BIG DATA Page 5


Représentation de ventes en colonne
2- DOCUMENT
Définition
- BD = collection de documents Modèle clé-valeur où la valeur est un
document (lisible par un humain) au format semi-structuré
hiérarchique (XML, YAML, JSON ou BSON, etc.)
– Document (structure arborescente) = collection de couples (clé,valeur)
Valeur de type simple ou composée de plusieurs couples (clé,valeur)
• Opérations
– Les opérations CRUD du modèle clé-valeur
– Souvent interface HTTP REST disponible
– Requêtage (API ou langage) possible sur les valeurs des documents
-Spécialisation du concept de clé/valeur
- La valeur est un document
- Forme structurée d’une valeur
- Les documents n’ont pas à être tous pareils
- Permet une recherche plus efficace dans les données
- Les documents ont habituellement un format particulier
• XML, JSON, BSON, etc.

BIG DATA Page 6


3. Représentation de ventes en relationnel

BIG DATA Page 7


Représentation de ventes en document (avec imbrication redondante)

V. GRAPHE
• Définition
Gestion d’un graphe (a priori orienté) c.-à-d. la modélisation, le
stockage et la manipulation de données complexes liées par des
relations non-triviales ou variables
• Mécanisme
– Moteur de stockage pour les objets (qui se présentent sous la forme
d’une base documentaire, chaque entité de cette base étant un nœud)
– Description des arcs (relations entre les objets) disposant de
propriétés (nom, date, …)
Opérations
– SPARQL pour les SGBD NoSQL Graphe RDF
– API et langages spécialisés de programmation et de requêtes sur les
graphes
Basé sur la théorie des graphes

BIG DATA Page 8


- Pratique lorsque les relations entre les données peuvent être représentées
sous forme de graphes
-Plus complexe à utiliser
-Les requêtes et les mises à jour de grandes quantités de données peuvent
être très lentes
Représentation de ventes en relationnel

Représentation de ventes en graphe

BIG DATA Page 9


VI. Comparaison entre SGBDR et modèles de SGBD NoSQL

1. Cas pratique sur le No SQL : Mongo DB


données au format JSON (en fait BSON, qui est une version binaire de
JSON). Le serveur MongoDB est organisé en plusieurs databases :
- Chaque database contient des collections.
- Chaque collection contient des documents.
- Chaque document est au format JSON et contient donc des propriétés.

BIG DATA Page 10


SQL MongoDB
base de données et/ou schéma base de données
Table Collection
Enregistrement Document
attribut (atomique) propriété (chaîne, entier, tableau,
structure)
En BDR, tous les tuples d’une table Dans une collection MongoDB, les
ont les mêmes champs (mais les documents peuvent ne pas avoir un
valeurs peuvent être différentes (les champ partage (pas de colonnes
valeurs sont affectées a des dans un document MongoDB).
colonnes)
Les bases de données relationnelles les bases de données NoSQL
et orientées objet respectent les respectent les principes BASE
principes ACID
concept de transaction Pas de commit et de rollback!

Tableau 1 Comparaison SQL / MongoDB

2. QUELQUES SYNTAXE : MONGODB


2.1 Récupérer le document d'une collection
Pour rechercher le document stocké dans une collection, la méthode find () peut
être utilisée. La commande ci-dessous sera utilisée pour récupérer tous les
documents de la collection.

 find()peut être utilisée pour récupérer tous les documents stockés dans
une collection.

Syntaxe: collectionName.find()

find({condition}) peut être utilisée pour récupérer uniquement les


documents requis en fonction de certaines conditions de la collection

Syntaxe: collectionName.find({ condition })

2.2 Mettre à jour le document dans une collection


MongoDB fournit update() pour définir de nouvelles valeurs pour les clés
existantes dans les documents. La commande de mise à jour donne des détails

BIG DATA Page 11


sur les documents modifiés et mis en correspondance. La syntaxe de la
commande de mise à jour est:

Syntaxe: collectionName.update({KeyToUpdate},{Set Command})

2.3 Supprimer le document d'une collection


Pour supprimer le document, MongoDB se compose
de deleteOne() et deleteMany() méthodes. La syntaxe des méthodes de
suppression est:

 deleteOne({condition}) supprime le document unique répondant aux


critères de suppression.

Syntaxe: collectionName.deleteOne({DeletionCondition
2.4 Renommer la collection
MongoDB fournit renameCollection () méthode pour renommer la collection.

Syntaxe: collectionName.renameCollection(newCollectionName)

VII Avantages et inconvénient de No SQL


Avantages
-L’évolutivité se fait de manière horizontale (pour augmenter les performances
on ajoute des nouvelles machines)

- Les données sont distribuées sur plusieurs machines (sharding) de ce fait on


évite les goulets d’étranglements lors de la récupération des données (fortes
performances de lecture)

-La représentation des données est notable par l’absence de schéma (schemaless)

- La majorité des solutions est Open Source, néanmoins il existe des Support Pro
pour répondre aux besoins des entreprises.

Inconvénients

Il n’existe pas de langage d’interrogation standardisé :

- chaque éditeur a mis en place le sien

-La mise en œuvre d’un environnement fortement transactionnel (fort besoin


d’écriture) où le séquencement des écritures est primordial, reste complexe
puisque l’architecture est distribuée compliquant l’atomicité et la cohérence des
BIG DATA Page 12
transactions. L’écriture de requêtes complexes est difficile à mettre en œuvre
L’offre NoSQL est segmentée en plusieurs familles où chacune répond à un
besoin précis

CONCLUSION
Pour répondre à la problématique du big data que sont nées les bases de
données NOSQL, sous l’impulsion de grands acteurs du web comme
Facebook ou Google, qui les ont développés à l’origine pour leurs besoins
propres. Grace à leurs flexibilité et leur souplesse , ces bases non relationnelles
permettent en effet de gérer de très grands volumes de données disparates sur
un ensembles de serveurs de stockage distribués , avec une capacité de montée
en charge très élevée . C’est dans ce sens qu’on cherche à fournir la même
puissance évolutive que les bases de données NOSQL, mais en garantissant les
propriétés ACI standards pourra peut-être réconcilier SQL et NOSQL

BIBLIOGRAPHIE
Bibliographie
P. Lacomme, S. Aridhi, R. Phan, Bases de données NoSQL et Big Data :
Concevoir des bases de données pour le Big Data, Cours et travaux pratiques,
ellipseTechnosup, 2014
R. Bruchez, Les bases de données NoSQL et le big data : comprendre et
mettre en œuvre, Eyrolles, 2015 (2e édition)
S. Tiwari, Professional NoSQL, John Wiley & Sons, 2011
A. Ploetz, D. Kandhare, S. Kadambi, X. (B.) Wu, Seven NoSQL Databases in
a Week: get up and running with the fundamentals and functionalities of seven
of the most popular NoSQL databases, Birmingham: Packt Publishing, 2018
V. Gaurav, Getting started with NoSQL your guide to the world and
technology of NoSQL, Packt Publishing, 2013
P. Raj, G. C. Deka, A Deep Dive into NoSQL Databases: The Use Cases and
Applications, Academic Press, 2018

BIG DATA Page 13

Vous aimerez peut-être aussi