0% ont trouvé ce document utile (0 vote)
60 vues3 pages

Introduction aux bases de données NoSQL

Ce document décrit les bases de données NoSQL, leurs avantages par rapport aux bases de données relationnelles, et les principaux types de bases de données NoSQL: clé-valeur, colonne, document et graphe. Il présente également MongoDB et ses principales fonctionnalités.

Transféré par

nesrine merrouchi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats RTF, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
60 vues3 pages

Introduction aux bases de données NoSQL

Ce document décrit les bases de données NoSQL, leurs avantages par rapport aux bases de données relationnelles, et les principaux types de bases de données NoSQL: clé-valeur, colonne, document et graphe. Il présente également MongoDB et ses principales fonctionnalités.

Transféré par

nesrine merrouchi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats RTF, PDF, TXT ou lisez en ligne sur Scribd

Ch5: NoSQL

NotOnlySQL (2010) : Regroupe toutes les BDD non relationnelles qui n'utilisent pas uniquement SQL
comme moyen d'accès. --> ne remplace pas le relationnel ms c'est une alternative, un complément qui
peut etre plus intéressant dans certains contextes.

* Arrivé des géants du web


* Nécessité de gérer des grandes masses de données distribuées dans plusieurs Data centers
* Objets complexes et hétérogènes.

Nouvelles approches pour gérer les données et les stocker :


1/ s'adapter au changement de l'éhelle --> Scalabilité
horizontale : nbr data centers
verticale : les données augmentent en volume.
2/ On peut ajouter des attributs meme si on l'avait définit déja --> Pas de modélisation préalable fixe
( juste un modèle conceptuel)
3/Ne présente plus les limotes du SGBD relationnel.

SGBD relationnels sont transactionnels et vérifient les contraintes ACID ( Atomicity, Consistency,
isolation,Durability) qui est couteux et difficile à maintenir dans le contexte distribué des données.
Et ont un système d'intégrété : veut dire que les tanbles contiennent des attributs pour définir d'autres
tables pour faire la jointure --> couteux

NOSQL s'adapte plus ou on a plus de lecture que de mise à jour car il focuse sur la tolérance et les
performances de lecture.
Un SGBD NoSQL n'est pas structuré en table et le langage de requètes n'est pas forcément SQL , they
depend on the type of the BDD.
Données sont dénormalisées et agrégées --> non structuré ( une seule entité unique)

Avantages de NOSQL:
1/ Adaptation au Big Data (Vitesse, Variérty, Volume, Complexité
2/ Capacité transactionnelles modernes : Nv principe de transactionnaliré avec les propriétes BASE.
3/ Disponibilité continue de données: Si un noeud tombe en panne le système n'arrete pas de
fonctionner ( redondance de données )
4/ Indépendance de l'emplacement : modifier sans etre besoin de savoir ou sont les données .
5/ Modèle de données flexible : il y a pas un schéma unique à respecter
6/ BI et analyse : extraire une masse d'informations décisionnelles.

ACID:
Atomicity : toutes les instructions exécutées ou aucune
Consistency : une transaction amène la BD d'un état valide à un autre
Isolation : Meme si plsr transactions peuvent se passer simultanément, une ne doit pas voir les efftes
emis par les autres
Durability : une fois une transaction est faite, ses modifications sont persistantes.

Théorème CAP: Consistency,Availability,Partition tolerance " il est impossible de satisfaire les 3


propriétes CAP en mm temps "
Consistency : tous les noeuds du système voit les meme données au meme moment.
Availability: La perte d'un noeud n'empeche pas les survivants de continuer à fonctionner, et les données
restent accessibles
Partition tolerance : Les osus systèmes ne dépond pas de leurs liasons avec les autres pour fonctionner
( chacun travaille en autonome )

SGBDR assure AC
NOSQL : Assure AP , PC

Propriétés BASE: Plus flexible


Basically Available: Availability in CAP
Soft-State: Etat du système peut changer dans le temps mm sans entrée --> Consistency
Eventual consistency : Les modifications arrivent éventuellement à tous les serveurs, si on leurs donne
suffisament de temps.

Typologie des BDD NoSQL:


1/ Type " clé-valeur ": Voldemort
chaque objet a une clé unique pour le requéter et un valeur ( un bloc de données)
TLa BDD est une table de hashage distribué avec les opérations : create , delete , update, read .
+) Simple , scalable , disponiblité
-) interrogation seulement sur clé , pas de données complexes ...

2/ Type Colonne - based: Cassandra


Données stockées par colonne et non pas par ligne
Comme le relationnel mais en transposé et le nbr de colonnes dynamiques et chacune à sa structure
( pas de valeur NULL)
Colonne : structure de base représente un champ de données définie par uene clé-valeur
regroupées par ligne dont chacune à un id.
colonnes peuvent etre statiques ou bien dynamiques .

3/ Type Orientée Document : MongoDB


clé valeur avec une valeur sous forme d'un Document de données semi-structurées en format Json ou
XML.
une valeur contient une liste de champs ou d'autres couples clé-valeurs.
Donne la capacité de faire des requetes sur le contenu des valeurs .
+) simple et puissant , bonne mise à l'échelle
-) inadapté pour les données interconnectées , modèles de requetes limitées aux clés et indexes

4/ Type Orientée graphe: Neo4j


bases sur la théorie des graphes avec des noeuds, de relaitions (arcs) et de propriétés.
+) puissant, rapide dans les données liées.
-) Fragmentation

MongoDB: Base de données NOSQL orientée document open source. (Json)


Json : format de représentation logique de données independament des longages qui l'utilisent.

Schema-less : on peut pas modéliser une collection pas un schema logique .


génère une clé pour chaque collection .
architecture cliet - serveur avec le client dans le mongo shell
pour créer une collection on fait directement accés à la base de données:
use db1
[Link]({document en format json})
show dbs : show all databases
show collections :
[Link]() : voir le contenu de col1
mongo db associe un id à tout doc cré.
[Link](Docjson,DocJson2)
Docjson1 : restriction
Docjson2 : projection

Vous aimerez peut-être aussi