SlideShare une entreprise Scribd logo
1  sur  65
Les BDD NOSQL
République Algérienne démocratique et populaire.
Université Dr. Tahar Moulay – Saïda
Département d’informatique
Matière : BDD Avancé
M1 RISR
Présenté par : Enseigné par :
• Kamar MEDDAH
• Abderrahmane KAFI
• Mr. Miloud BENAYHIYA
2018/2019
Plan
I. INTRODUCTION,
II. HISTORIQUE,
III. BDD RELATIONNEL,
IV. LES BDD NOSQL,
V. POURQUOI LES BDD NOSQL,
VI. THÉORÈME DE CAP ET ACID & BASE,
VII. SQL VS NO SQL,
VIII. TYPE DES BDD NOSQL CONCLUSION.
BDD NOSQL 2
I. Introduction
Historique
BDD NOSQL 4
Historique
BDD NOSQL 5
BDD Relationnel
BDD NOSQL 6
BDD
Relationnel
 Existe depuis plus de 48 ans,
 Utilise l’Algèbre relationnelle,
 Forte consistance, concurrence, récupération,
 Populaire,
 Langage de requête standard (SQL),
 Fonctionne très bien dans la plupart des cas
BDD NOSQL 7
BDD
Relationnel
BDD NOSQL 8
Exemple
 MySQL,
 Maria DB,
 Oracle,
 SQL Server,
 PostgreSQL,
 IBM/DB2,
 H2,
 Apache Derby,
 webSQL,
 Sqlite.
BDD NOSQL 9
Avantages
 Les transactions ACID,
 Contexte mathématique (Algèbre relationnelle),
 Langage de requête standard (SQL),
 Évitez la duplication de données ,
 Taux de compression élevé (le disque était plus cher)
 SQL et SGBDR ont rendu les requêtes flexibles avec des
schémas rigides
 Un écosystème massif d’outils, de bibliothèques et
d’intégrations
 Existe depuis plus de 48 ans,
BDD NOSQL 10
Inconvénient
 Schéma défini, attributs optionnels (NULL),
 les requêtes sont parfois très complexes (jointure),
 Utiliser des jointures pour agréger des données liées,
 Difficile pour la Mise à l'échelle horizontale (horizontal
scaling),
 Les jointure son couteuse,
 Un peut lent a cause des transaction ACID.
BDD NOSQL 11
Cas
d'utilisation
 Dans un system ou il faut des transaction solide et
cohérente (une banque ),
 Pour un projet simple,
 on a besoins des relation (clés étranger),
 on est besoin des schémas,
 on veut économiser l’espace disque.
BDD NOSQL 12
C’est quoi une BDD
NOSQL ?
BDD NOSQL 13
BDD
NOSQL
 La théorie et les offres NoSQL modernes ont débuté au début
des années 2000
 L’usage moderne du terme NOSQL introduit en 2009
 NoSQL = Not Only SQL (pas seulement SQL)
 Une collection de produits très différents
 Alternatives aux bases de données relationnelles quand elles
sont un mauvais ajustement
 À présent, nosql-database.org répertorie plus de 225 bases
de données NoSQL.
BDD NOSQL 14
Pourquoi les BDD
NOSQL ?
BDD NOSQL 15
Big Data
BDD NOSQL 16
Big Data
 Big Data signifie que les données sont
suffisamment volumineuses pour que vous deviez
y réfléchir afin d’extraire l'information.
 Big Data lorsqu'il cesse de monter sur une seule
machine
 Le Big Data, est une façon de penser
fondamentalement différente sur les données et la
manière dont elles sont utilisée.
BDD NOSQL 17
Big Data
 Gartner utilise les 3V pour définir:
 Volume
 Volume important / difficile / extrême relatif
 Variété
 données changeantes ou évolutives
 Formats non contrôlés
 N'adhère pas facilement à un seul schéma
 Inconnu au moment de la conception
 Rapidité
 Données entrantes élevées ou volatiles
 Hautes requêtes et lectures
 Faible latence
BDD NOSQL 18
L’ére des
Système
distribué
 A cause de la quantité énorme des données qui a apparue la seule
solution pour remédier a ce problème été les system distribués,
 Ce qui a introduit la terminologie horizontal scaling,
 L’apparition du théorème de CAP.
BDD NOSQL 19
Théorème
de CAP
Un système distribué ne peut prendre en charge que
deux des caractéristiques suivantes:
 Consistency (toutes les nœuds dans un system distribué renvoie la
même valeur)
 Availability (Chaque nœud non défaillant renvoie une réponse pour
toutes les demandes de lecture et d'écriture dans un délai
raisonnable )
 Partition Tolerance (Le système continue de fonctionner et
maintient sa cohérence malgré les partitions de réseau )
BDD NOSQL 20
BDD NOSQL 21
ACID & BASE
BDD NOSQL 22
ACID
 Atomicity (Les tâches d'une transaction est exécutée ou aucune
d'entre elles. C'est le principe du tout ou rien. Si un élément d'une
transaction échoue, toute la transaction échoue)
 Consistency (La BDD doit rester dans un état cohérent au début
et à la fin d'une transaction. il n'y a jamais de transactions à moitié
terminées).
 Isolation (Aucune transaction n'a accès à une autre transaction
dont l'état n'est pas terminé. Ainsi, chaque transaction est
indépendante en soi. Cela est nécessaire pour la cohérence des
transactions dans une base de données).
 Durability (Une fois la transaction terminée, elle persistera et ne
pourra plus être annulée, Elle survivra aux pannes du système, aux
coupures de courant et à d'autres types de pannes du système).
BDD NOSQL 23
BASE
 Basic Availability (le système garantit la disponibilité des
données et il y aura une réponse à toute demande. Mais cette
réponse pourrait être un "échec" pour obtenir les données
demandées ou les données peuvent être dans un état incohérent)
 Soft-state (L’état du système peut changer avec le temps, même
pendant les périodes sans demande d’écriture, des changements
peuvent survenir en raison de la «cohérence éventuelle», ainsi l’état
du système est toujours «souple»)
 Eventual consistency (Au fur et à mesure que des données sont
ajoutées au système, son état est progressivement répliqué sur tous
les nœuds)
BDD NOSQL 24
Les Limites
du BDD
Relationnel
 N’est pas conçu pour les system distribué,
 Difficile de le scale horizontalement,
 Très difficile/impossible pour la répartition.
 Il est faible en:
 Vitesse (performance)
 Haute disponibilité
 Tolérance de partition
BDD NOSQL 25
Avantages
 Conçu pour les systèmes distribués,
 Elle n’a pas de schéma (flexible),
 Base transactions,
 Les requête sont simple (pas de jointure),
 Mise à l'échelle horizontale (scale out) ,
 Développement rapide .
BDD NOSQL 26
Alors devrions-nous
abandonner les base de
données relationnelles et
basculer vers les bases de
données NOSQL ?
BDD NOSQL 27
Inconvénient
 Elle n’a pas de schéma,
 Pas un langage de requête standard,
 Pas des transaction ACID.
BDD NOSQL 28
SQL vs NOSQL
BDD NOSQL 29
SQL
vs
NOSQL
SQL NOSQL
Scalabilité vertical et pas trop
horizontale
Scalabilité horizontale
Cohérent Consistante ou éventuelle
Scalable lecture Scalable Lecture / écriture
Transactions sur plusieurs
tables
Difficile de supporter la
transaction
Aucune tolérance de partition Tolérance de partition
Schéma / tables Pas de schéma
Requêtes flexibles (jointures) Requêtes limitées
BDD NOSQL 30
Les type du BDD
NOSQL
BDD NOSQL 31
BDD
Clé / valeur
BDD NOSQL 32
BDD
Clé / valeur
BDD NOSQL 33
 Ces SGBD stockent les éléments sous forme d'identificateurs
alphanumériques faisant référence aux clés. Chaque clé a
des valeurs associées.,
 La valeur peut être simples chaînes de texte ou
plus complexes listes et ensembles et(blob, json,
image..etc.),
 Leger et compact.
BDD
Clé / valeur
BDD NOSQL 34
Exemple
 Dynamo (Amazon),
 Voldemort (LinkedIn),
 BerkeleyDB
 MemcacheDB,
 Redis,
 Riak,
 IndexedDB.
BDD NOSQL 35
Avantages
 Pas des données dupliquer,
 Très rapide,
 La simplicité de clé/ valeur les rend très rapides et
léger,
 hautement évolutive (Highly Scalable),
 hautement disponible (Highly availability),
 Peut stocker n’importe quel type de valeur,
 Des operations basic : Insert(key,
value),Update(key), Delete(key).
BDD NOSQL 36
Inconvénient
 Recherche effectuée uniquement avec les
clés et limitée aux correspondances
exactes,
 La recherche ne peut pas être effectuée
avec les valeurs,
 Pas de requête,
 nombreuses structures de données (objets)
ne peuvent pas être facilement modélisées
comme des paires clé/valeur.
BDD NOSQL 37
Cas
d'utilisation
 requises pour les tâches d'application telles que
l'extraction de noms de produits,
 C’est pourquoi Amazon utilise le système
clé/valeur dans son chariot,
 Le dynamo est une valeur-clé hautement
disponible système de stockage,
 Pour le cache,
 Pour l’indexation.
BDD NOSQL 38
BDD Orienté
Document
BDD NOSQL 39
BDD
Orienté
Document
 Conçu pour gérer et stocker les documents,
 Pas de schéma,
 Ces documents sont encodés dans une format
standard d'échange de données tel que XML,
JSON (notation d'option JavaScript) ou BSON
(JSON binaire),
 Généralement, un modèle d’échange de type
JSON (BSON), qui prend en charge les listes,
cartes, dates, objets avec imbrication,
 Modèle de requête: JavaScript ou personnalisé,
 Agrégations: map / reduce.
BDD NOSQL 40
BDD
Orienté
Document
BDD NOSQL 41
Exemple
 MongoDB,
 CouchDB,
 CouchBase,
 ElasticSearch,
 RethinkDB.
BDD NOSQL 42
Avantages
 Simple
 Pas des jointures,
 Pas de schéma,
 Consistante,
 Contrairement au simple stockage clé/valeur, les
clés et les valeurs sont entièrement interrogeables.
 Les requête sont simple que le SQL.
 Proche des BDD relationnel.
BDD NOSQL 43
Inconvénient
 Les données sont dupliquer,
 Pas des transaction ACID,
 Pas de model,
BDD NOSQL 44
Cas
d'utilisation
 Quand on a plus que 10 jointures,
 Quand on est besoin d’un system Scalable
horizontalement,
 Quand on a des champs de données vide,
 Quand on a pas besoin des schéma.
 Utiles pour stocker et gérer des collections des
documents littéraux d’une grande taille, tels que
des documents texte, des messages électroniques.
BDD NOSQL 45
BDD Orienté
Colonne
BDD NOSQL 46
BDD
Orienté
Colonne
 Elle consiste en une paire clé/valeur dans laquelle
la valeur consiste en un ensemble des colonnes,
 Les bases de données de familles de colonnes
sont représentées dans des tables, chaque paire
clé/valeur étant une ligne,
 Toutes les données associées peuvent être
regroupées dans une même famille,
 Conçu pour stocker une quantité énorme des
données,
 Facile pour le scaling horizontale,
BDD NOSQL 47
BDD
Orienté
Colonne
BDD NOSQL 48
Exemple
 Apache CassandraDB,
 Google BigTable,
 Apache HBase,
 Hypertable.
BDD NOSQL 49
Avantages
 Flexibilité,
 Temps de traitement,
 Non-stockage des valeurs null,
 Lecture Rapide,
 Conçu pour stocker une quantité énorme des
données,
 Langage de requête rapprocher de SQL (CQL3).
BDD NOSQL 50
Inconvénient
 Non-adaptée aux données interconnectées,
 Non-adaptée pour les données non-strucurées,
 Faible Taux de compression,
 Beaucoup de colonnes,
 Complexe.
BDD NOSQL 51
Cas
d'utilisation
 Traitement de données à grande échelle et par
lots: tri, analyse, conversion ,
 Analyse exploratoire et prédictive réalisée par des
statisticiens et des programmeurs experts,
 Lorsqu’on a une énorme quantité de données a
stocker,
 lorsque l’on doit stocker de très nombreux
évènements qui doivent être mis à jour très
régulièrement.
BDD NOSQL 52
BDD Orienté
Graph
BDD NOSQL 53
BDD
Orienté
Graph
 Elles remplacent les tables relationnelles par des
graph relationnels structurés d'appariements
interconnectés clé/valeur.
 La base de données relationnelle est une collection
de tables faiblement connectées alors que la base
de données orienté graph sont un graphe multi-
relationnel ,
 Elles sont utiles lorsque vous êtes plus intéressé
par les relations entre données que par les
données elles-mêmes ,
 Elles son optimisé pour les relations traversantes
et non pas pour les requêtes.
BDD NOSQL 54
BDD
Orienté
Graph
BDD NOSQL 55
Exemple
 Neo4j
 Ggraph,
 OrientDB,
 Titan,
 InfoGrid,
 Sones GraphDB,
 AllegroGraph,
 InfiniteGraph.
BDD NOSQL 56
Avantages
 la performance des bases de données Graph
restent identiques quand le jeu de données
s'accroît par contre les BDD relationnel,
 Il y a des relations,
 identiques quand le jeu de données s'accroît.
 La flexibilité,
 L'agilité.
 Les algorithms des graph e.g. le Chemins le plus
court, relations de degré n ,… etc.
 Les transaction ACID
BDD NOSQL 57
Inconvénient
 Elle sont pas performantes pour calculer de
grandes agrégations de données,
 Une structure très complexe.
 parcourir le graphique entier pour obtenir une
réponse définitive.
 Pas facile pour la répartition.
BDD NOSQL 58
Cas
d'utilisation
 Fonctionne parfaitement pour les réseaux sociaux,
 Avec cette technologie également que eBay peut
optimiser ses livraisons en un temps cours,
BDD NOSQL 59
Questions
BDD NOSQL 60
Questions
 Devrions-nous abandonner les base de données
relationnelles et basculer vers les bases de données
NOSQL ?
 Pourquoi existe il trop de types des BDD ?
 Quel type de BDD je dois choisir ?
BDD NOSQL 61
Conclusion
BDD NOSQL 62
Conclusion
 Les exigences en matière de calcul et de stockage des
applications telles que les analyses Big Data, la Business
Intelligence et les réseaux sociaux sur des jeux de données
péta-octets nous ont amenés à passer de la base de données
SQL à la base de données NoSQL,
 Cela a conduit au développement de bases de données NOSQL
non relationnelles distribuées, Scalable horizontalement,
 MongoDB est le plus demandé,
 Chaque Type de BDD a ses avantage et ses incovients il faut
choisir la BDD qui vous convient selon vos besoins (Le bon outil
pour le bon travail),
 Généralement vous allez vous trouver utiliser plusieurs BDD en
même temps.
 Il n’ y a pas des relations dans les BDD clé/valeur ,BDD orienté
document et BDD orienté colonne.
BDD NOSQL 63
Merci pour votre
attention
BDD NOSQL 64
N'hésitez pas
à poser des questions
BDD NOSQL 65

Contenu connexe

Tendances

BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDBMongoDB
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursHatim CHAHDI
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Hatim CHAHDI
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données répartiesAbdelouahed Abdou
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 

Tendances (20)

NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
Presentation cassandra
Presentation cassandraPresentation cassandra
Presentation cassandra
 
Base des données réparties
Base des données répartiesBase des données réparties
Base des données réparties
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
 
introduction à MongoDB
introduction à MongoDBintroduction à MongoDB
introduction à MongoDB
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données réparties
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Bi
BiBi
Bi
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 

Similaire à Les Base de Données NOSQL

Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQLSamy Dindane
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de donnéeszied kallel
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamTelecomValley
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdfZkSadrati
 
Relational databases & NoSQL databases
Relational databases & NoSQL databasesRelational databases & NoSQL databases
Relational databases & NoSQL databasesCédric Villa
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosqlInes Slimene
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementLudovic REUS
 
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesTours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesMichaël Figuière
 
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETICNoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETICLa FeWeb
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdfhbadir
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Hajer mhimdi-ppt11 pfe-mr2 siw
Hajer mhimdi-ppt11 pfe-mr2 siwHajer mhimdi-ppt11 pfe-mr2 siw
Hajer mhimdi-ppt11 pfe-mr2 siwhajer mhimdi
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.pptIdriss22
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBRomain Cambien
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDenodo
 

Similaire à Les Base de Données NOSQL (20)

Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
Meetup 06 03_2015
Meetup 06 03_2015Meetup 06 03_2015
Meetup 06 03_2015
 
Relational databases & NoSQL databases
Relational databases & NoSQL databasesRelational databases & NoSQL databases
Relational databases & NoSQL databases
 
NoSQL MeetUp
NoSQL MeetUpNoSQL MeetUp
NoSQL MeetUp
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesTours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
 
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETICNoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
Google spanner
Google spannerGoogle spanner
Google spanner
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Hajer mhimdi-ppt11 pfe-mr2 siw
Hajer mhimdi-ppt11 pfe-mr2 siwHajer mhimdi-ppt11 pfe-mr2 siw
Hajer mhimdi-ppt11 pfe-mr2 siw
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 

Plus de kamar MEDDAH

Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmiskamar MEDDAH
 
Random number generator
Random number generatorRandom number generator
Random number generatorkamar MEDDAH
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pkamar MEDDAH
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuéekamar MEDDAH
 
Porter stemming algorithm
Porter stemming algorithmPorter stemming algorithm
Porter stemming algorithmkamar MEDDAH
 

Plus de kamar MEDDAH (13)

Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
 
Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmis
 
Random number generator
Random number generatorRandom number generator
Random number generator
 
Routage rip
Routage ripRoutage rip
Routage rip
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2p
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuée
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
Active directory
Active directoryActive directory
Active directory
 
Wwan
WwanWwan
Wwan
 
Hadoop
HadoopHadoop
Hadoop
 
Erlang
ErlangErlang
Erlang
 
Porter stemming algorithm
Porter stemming algorithmPorter stemming algorithm
Porter stemming algorithm
 
Javascript
JavascriptJavascript
Javascript
 

Les Base de Données NOSQL

  • 1. Les BDD NOSQL République Algérienne démocratique et populaire. Université Dr. Tahar Moulay – Saïda Département d’informatique Matière : BDD Avancé M1 RISR Présenté par : Enseigné par : • Kamar MEDDAH • Abderrahmane KAFI • Mr. Miloud BENAYHIYA 2018/2019
  • 2. Plan I. INTRODUCTION, II. HISTORIQUE, III. BDD RELATIONNEL, IV. LES BDD NOSQL, V. POURQUOI LES BDD NOSQL, VI. THÉORÈME DE CAP ET ACID & BASE, VII. SQL VS NO SQL, VIII. TYPE DES BDD NOSQL CONCLUSION. BDD NOSQL 2
  • 7. BDD Relationnel  Existe depuis plus de 48 ans,  Utilise l’Algèbre relationnelle,  Forte consistance, concurrence, récupération,  Populaire,  Langage de requête standard (SQL),  Fonctionne très bien dans la plupart des cas BDD NOSQL 7
  • 9. Exemple  MySQL,  Maria DB,  Oracle,  SQL Server,  PostgreSQL,  IBM/DB2,  H2,  Apache Derby,  webSQL,  Sqlite. BDD NOSQL 9
  • 10. Avantages  Les transactions ACID,  Contexte mathématique (Algèbre relationnelle),  Langage de requête standard (SQL),  Évitez la duplication de données ,  Taux de compression élevé (le disque était plus cher)  SQL et SGBDR ont rendu les requêtes flexibles avec des schémas rigides  Un écosystème massif d’outils, de bibliothèques et d’intégrations  Existe depuis plus de 48 ans, BDD NOSQL 10
  • 11. Inconvénient  Schéma défini, attributs optionnels (NULL),  les requêtes sont parfois très complexes (jointure),  Utiliser des jointures pour agréger des données liées,  Difficile pour la Mise à l'échelle horizontale (horizontal scaling),  Les jointure son couteuse,  Un peut lent a cause des transaction ACID. BDD NOSQL 11
  • 12. Cas d'utilisation  Dans un system ou il faut des transaction solide et cohérente (une banque ),  Pour un projet simple,  on a besoins des relation (clés étranger),  on est besoin des schémas,  on veut économiser l’espace disque. BDD NOSQL 12
  • 13. C’est quoi une BDD NOSQL ? BDD NOSQL 13
  • 14. BDD NOSQL  La théorie et les offres NoSQL modernes ont débuté au début des années 2000  L’usage moderne du terme NOSQL introduit en 2009  NoSQL = Not Only SQL (pas seulement SQL)  Une collection de produits très différents  Alternatives aux bases de données relationnelles quand elles sont un mauvais ajustement  À présent, nosql-database.org répertorie plus de 225 bases de données NoSQL. BDD NOSQL 14
  • 15. Pourquoi les BDD NOSQL ? BDD NOSQL 15
  • 17. Big Data  Big Data signifie que les données sont suffisamment volumineuses pour que vous deviez y réfléchir afin d’extraire l'information.  Big Data lorsqu'il cesse de monter sur une seule machine  Le Big Data, est une façon de penser fondamentalement différente sur les données et la manière dont elles sont utilisée. BDD NOSQL 17
  • 18. Big Data  Gartner utilise les 3V pour définir:  Volume  Volume important / difficile / extrême relatif  Variété  données changeantes ou évolutives  Formats non contrôlés  N'adhère pas facilement à un seul schéma  Inconnu au moment de la conception  Rapidité  Données entrantes élevées ou volatiles  Hautes requêtes et lectures  Faible latence BDD NOSQL 18
  • 19. L’ére des Système distribué  A cause de la quantité énorme des données qui a apparue la seule solution pour remédier a ce problème été les system distribués,  Ce qui a introduit la terminologie horizontal scaling,  L’apparition du théorème de CAP. BDD NOSQL 19
  • 20. Théorème de CAP Un système distribué ne peut prendre en charge que deux des caractéristiques suivantes:  Consistency (toutes les nœuds dans un system distribué renvoie la même valeur)  Availability (Chaque nœud non défaillant renvoie une réponse pour toutes les demandes de lecture et d'écriture dans un délai raisonnable )  Partition Tolerance (Le système continue de fonctionner et maintient sa cohérence malgré les partitions de réseau ) BDD NOSQL 20
  • 22. ACID & BASE BDD NOSQL 22
  • 23. ACID  Atomicity (Les tâches d'une transaction est exécutée ou aucune d'entre elles. C'est le principe du tout ou rien. Si un élément d'une transaction échoue, toute la transaction échoue)  Consistency (La BDD doit rester dans un état cohérent au début et à la fin d'une transaction. il n'y a jamais de transactions à moitié terminées).  Isolation (Aucune transaction n'a accès à une autre transaction dont l'état n'est pas terminé. Ainsi, chaque transaction est indépendante en soi. Cela est nécessaire pour la cohérence des transactions dans une base de données).  Durability (Une fois la transaction terminée, elle persistera et ne pourra plus être annulée, Elle survivra aux pannes du système, aux coupures de courant et à d'autres types de pannes du système). BDD NOSQL 23
  • 24. BASE  Basic Availability (le système garantit la disponibilité des données et il y aura une réponse à toute demande. Mais cette réponse pourrait être un "échec" pour obtenir les données demandées ou les données peuvent être dans un état incohérent)  Soft-state (L’état du système peut changer avec le temps, même pendant les périodes sans demande d’écriture, des changements peuvent survenir en raison de la «cohérence éventuelle», ainsi l’état du système est toujours «souple»)  Eventual consistency (Au fur et à mesure que des données sont ajoutées au système, son état est progressivement répliqué sur tous les nœuds) BDD NOSQL 24
  • 25. Les Limites du BDD Relationnel  N’est pas conçu pour les system distribué,  Difficile de le scale horizontalement,  Très difficile/impossible pour la répartition.  Il est faible en:  Vitesse (performance)  Haute disponibilité  Tolérance de partition BDD NOSQL 25
  • 26. Avantages  Conçu pour les systèmes distribués,  Elle n’a pas de schéma (flexible),  Base transactions,  Les requête sont simple (pas de jointure),  Mise à l'échelle horizontale (scale out) ,  Développement rapide . BDD NOSQL 26
  • 27. Alors devrions-nous abandonner les base de données relationnelles et basculer vers les bases de données NOSQL ? BDD NOSQL 27
  • 28. Inconvénient  Elle n’a pas de schéma,  Pas un langage de requête standard,  Pas des transaction ACID. BDD NOSQL 28
  • 29. SQL vs NOSQL BDD NOSQL 29
  • 30. SQL vs NOSQL SQL NOSQL Scalabilité vertical et pas trop horizontale Scalabilité horizontale Cohérent Consistante ou éventuelle Scalable lecture Scalable Lecture / écriture Transactions sur plusieurs tables Difficile de supporter la transaction Aucune tolérance de partition Tolérance de partition Schéma / tables Pas de schéma Requêtes flexibles (jointures) Requêtes limitées BDD NOSQL 30
  • 31. Les type du BDD NOSQL BDD NOSQL 31
  • 33. BDD Clé / valeur BDD NOSQL 33  Ces SGBD stockent les éléments sous forme d'identificateurs alphanumériques faisant référence aux clés. Chaque clé a des valeurs associées.,  La valeur peut être simples chaînes de texte ou plus complexes listes et ensembles et(blob, json, image..etc.),  Leger et compact.
  • 35. Exemple  Dynamo (Amazon),  Voldemort (LinkedIn),  BerkeleyDB  MemcacheDB,  Redis,  Riak,  IndexedDB. BDD NOSQL 35
  • 36. Avantages  Pas des données dupliquer,  Très rapide,  La simplicité de clé/ valeur les rend très rapides et léger,  hautement évolutive (Highly Scalable),  hautement disponible (Highly availability),  Peut stocker n’importe quel type de valeur,  Des operations basic : Insert(key, value),Update(key), Delete(key). BDD NOSQL 36
  • 37. Inconvénient  Recherche effectuée uniquement avec les clés et limitée aux correspondances exactes,  La recherche ne peut pas être effectuée avec les valeurs,  Pas de requête,  nombreuses structures de données (objets) ne peuvent pas être facilement modélisées comme des paires clé/valeur. BDD NOSQL 37
  • 38. Cas d'utilisation  requises pour les tâches d'application telles que l'extraction de noms de produits,  C’est pourquoi Amazon utilise le système clé/valeur dans son chariot,  Le dynamo est une valeur-clé hautement disponible système de stockage,  Pour le cache,  Pour l’indexation. BDD NOSQL 38
  • 40. BDD Orienté Document  Conçu pour gérer et stocker les documents,  Pas de schéma,  Ces documents sont encodés dans une format standard d'échange de données tel que XML, JSON (notation d'option JavaScript) ou BSON (JSON binaire),  Généralement, un modèle d’échange de type JSON (BSON), qui prend en charge les listes, cartes, dates, objets avec imbrication,  Modèle de requête: JavaScript ou personnalisé,  Agrégations: map / reduce. BDD NOSQL 40
  • 42. Exemple  MongoDB,  CouchDB,  CouchBase,  ElasticSearch,  RethinkDB. BDD NOSQL 42
  • 43. Avantages  Simple  Pas des jointures,  Pas de schéma,  Consistante,  Contrairement au simple stockage clé/valeur, les clés et les valeurs sont entièrement interrogeables.  Les requête sont simple que le SQL.  Proche des BDD relationnel. BDD NOSQL 43
  • 44. Inconvénient  Les données sont dupliquer,  Pas des transaction ACID,  Pas de model, BDD NOSQL 44
  • 45. Cas d'utilisation  Quand on a plus que 10 jointures,  Quand on est besoin d’un system Scalable horizontalement,  Quand on a des champs de données vide,  Quand on a pas besoin des schéma.  Utiles pour stocker et gérer des collections des documents littéraux d’une grande taille, tels que des documents texte, des messages électroniques. BDD NOSQL 45
  • 47. BDD Orienté Colonne  Elle consiste en une paire clé/valeur dans laquelle la valeur consiste en un ensemble des colonnes,  Les bases de données de familles de colonnes sont représentées dans des tables, chaque paire clé/valeur étant une ligne,  Toutes les données associées peuvent être regroupées dans une même famille,  Conçu pour stocker une quantité énorme des données,  Facile pour le scaling horizontale, BDD NOSQL 47
  • 49. Exemple  Apache CassandraDB,  Google BigTable,  Apache HBase,  Hypertable. BDD NOSQL 49
  • 50. Avantages  Flexibilité,  Temps de traitement,  Non-stockage des valeurs null,  Lecture Rapide,  Conçu pour stocker une quantité énorme des données,  Langage de requête rapprocher de SQL (CQL3). BDD NOSQL 50
  • 51. Inconvénient  Non-adaptée aux données interconnectées,  Non-adaptée pour les données non-strucurées,  Faible Taux de compression,  Beaucoup de colonnes,  Complexe. BDD NOSQL 51
  • 52. Cas d'utilisation  Traitement de données à grande échelle et par lots: tri, analyse, conversion ,  Analyse exploratoire et prédictive réalisée par des statisticiens et des programmeurs experts,  Lorsqu’on a une énorme quantité de données a stocker,  lorsque l’on doit stocker de très nombreux évènements qui doivent être mis à jour très régulièrement. BDD NOSQL 52
  • 54. BDD Orienté Graph  Elles remplacent les tables relationnelles par des graph relationnels structurés d'appariements interconnectés clé/valeur.  La base de données relationnelle est une collection de tables faiblement connectées alors que la base de données orienté graph sont un graphe multi- relationnel ,  Elles sont utiles lorsque vous êtes plus intéressé par les relations entre données que par les données elles-mêmes ,  Elles son optimisé pour les relations traversantes et non pas pour les requêtes. BDD NOSQL 54
  • 56. Exemple  Neo4j  Ggraph,  OrientDB,  Titan,  InfoGrid,  Sones GraphDB,  AllegroGraph,  InfiniteGraph. BDD NOSQL 56
  • 57. Avantages  la performance des bases de données Graph restent identiques quand le jeu de données s'accroît par contre les BDD relationnel,  Il y a des relations,  identiques quand le jeu de données s'accroît.  La flexibilité,  L'agilité.  Les algorithms des graph e.g. le Chemins le plus court, relations de degré n ,… etc.  Les transaction ACID BDD NOSQL 57
  • 58. Inconvénient  Elle sont pas performantes pour calculer de grandes agrégations de données,  Une structure très complexe.  parcourir le graphique entier pour obtenir une réponse définitive.  Pas facile pour la répartition. BDD NOSQL 58
  • 59. Cas d'utilisation  Fonctionne parfaitement pour les réseaux sociaux,  Avec cette technologie également que eBay peut optimiser ses livraisons en un temps cours, BDD NOSQL 59
  • 61. Questions  Devrions-nous abandonner les base de données relationnelles et basculer vers les bases de données NOSQL ?  Pourquoi existe il trop de types des BDD ?  Quel type de BDD je dois choisir ? BDD NOSQL 61
  • 63. Conclusion  Les exigences en matière de calcul et de stockage des applications telles que les analyses Big Data, la Business Intelligence et les réseaux sociaux sur des jeux de données péta-octets nous ont amenés à passer de la base de données SQL à la base de données NoSQL,  Cela a conduit au développement de bases de données NOSQL non relationnelles distribuées, Scalable horizontalement,  MongoDB est le plus demandé,  Chaque Type de BDD a ses avantage et ses incovients il faut choisir la BDD qui vous convient selon vos besoins (Le bon outil pour le bon travail),  Généralement vous allez vous trouver utiliser plusieurs BDD en même temps.  Il n’ y a pas des relations dans les BDD clé/valeur ,BDD orienté document et BDD orienté colonne. BDD NOSQL 63
  • 65. N'hésitez pas à poser des questions BDD NOSQL 65