SlideShare une entreprise Scribd logo
1  sur  22
Big Data
BASES DE DONNÉES
Des données
 Une mesure
 Un modèle => c’est-à-dire une représentation de la réalité physique
 Une donnée => on stocke, range le tout
2
Sommaire
 Les bases relationnelles
 Le grand classique
 Les base orientées documents
 On stocke des documents, en vrac
 Les bases colonnes
 On historise
 Les bases graphe
 On s’intéresse aux relations entre des données
 Les bases temporelles
 Des valeurs en fonction du temps
 Bases sémantiques
 Web sémantiques, données RDF
3
Un exemple
 Pierre
 une personne
 une entité
 Des propriétés
 Prends l’avion à 15h00
 une action
 une relation
 Une propriété
 Pour Paris
 Un lieu
 Une entité
 Des propriétés
4
The table
Personne (nom) Moyen Heure Destination
Pierre Avion 15 Paris
Paul Train 12 Marseille
Jacques Voiture 11 Rome
5
Bases relationnelles
 P.ex. Oracle, MariaDb, MySQL
 Ce sont des bases
 Relationnelles : on peut établir des relations entre entités et les requêter ensuite
 Transactionnelles : on assure la cohérence des données écrites au sein d’une
transaction, en cas de souci, tout est rejeté
 Elles disposent d’un langage de requêtage : Standard Query Langage (SQL)
très largement répandu
 Réplication maitre-esclave
6
Bases relationnelles 7
SELECT p.nom, m.nom, m.heure, d.destination
FROM Personne p
JOIN moyen_de_transport ON p.personneId=m.PersonID
JOIN destination d ON d.destinationID=m.destinationID
p.nom m.nom m.heure d.destination
Pierre avion 15 paris
8
Force des SGBD classiques
 Le modèle est indépendant du stockage disque
 Requêtes pouvant être complexes ( parcours sup p.ex.)
 Optimisation des requêtes par des index
 Stables, mur, interfaces disponibles
 Contraintes d’intégrité (un prix doit être >0)
 Gestion efficace de gros volumes de données
 Transactions :
 Gère les accès concurrents
 Reprise sur panne
9
ACID
 Atomicité : l’ensemble des opérations est réalisé en bloc, annulée en bloc
 Cohérence : les transactions respectent les contraintes du modèle créé par
l’utilisateur
 Isolation : Deux exécutions concurrentes renvoie le même résultat que
deux exécutions à la suite
 Durabilité : une fois la transaction terminée, les données sont pérennes
10
Inconvénients des SGBD classiques
 Ne permettent pas de gérer des TRES gros volumes de données (To)
 Limitée par la vitesse des accès disque (ou SSD plus chers)
 Le modèle relationnel n’est pas adapté aux données
 Peu structurées
 Pas structurées
 Hiérarchiques
 Les propriétés ACID :
 Consomment des ressources
 Diminuent les performances
11
Bases NoSql
 Not Only SQL
 Certains compromis sont différents de ceux des bases SQL
 Modèles de données spécialisés dans certaines taches
 Souvent les propriété ACID sont abandonnées
 Quelques exemples :
 XML : données hiérarchiques
 Objet : données complexes avec données et méthodes
 Graphes : graphes avec nœuds, arrêtes, propriétés
 Triplets : Triplets RDF du WEB sémantique
 Clef-valeur : une valeur associée à un identifiant
12
Bases orientées documents
 Elles sont efficaces pour gérer de grands nombres de documents
 Pas de contraintes sur le format du document
 On retrouve un document pas son identifiant
 Pb : trouver le bon identifiant
 Par exemple MongoDb
 Souvent les documents sont écrits en json ou XML
 Requêtes très simples : PUT, GET
 De fait s’utilise souvent avec un moteur de recherche, qui indexe les
documents pour retrouver ensuite leur Id (SolR, ElasticSearch)
13
Bases orientées documents 14
Db.voyages.save({
_id :abb72107-2d4f-40b1-ba09-095b8d1fcf2f,
Nom: pierre,
moyen_de_transport: {
Nom: avion,
Heure : 15
},
Destination : paris
})
Db.voyages.find({
Nom: Pierre
})
{" Nom " : " pierre "," Destination" : "paris " , "
moyen_de_transport " : {" nom " : " avion " , " heure « : 15 }}
Base orientée colonnes
 Au lieu de stocker les données lignes par lignes, on les stocke colonne par
colonne
 Modèle plus riche que clef-valeur
 Rend très efficace l’agrégation sur une colonne
 Rend difficile la mise à jour (UPDATE) d’un document
 Passage en mode distribué très très simple
15
Structure d’enregistrement 16
Base graphe 17
CREATE (p:Personne {nom:Pierre})
-[u:UTILISE_POUR_ALLER{nom:avion, heure:15}]
->(d:Destination (Destination:Paris)}
MATCH (p:Personne)-[u:UTILISE_POUR_ALLER]-(d:destination)
RETURN p,u,d
Graphe plus complexe 18
Comparatif structures 19
Personne (nom) Moyen Heure Destination
Pierre Avion 15 Paris
Paul Train 12 Marseille
Jacques Voiture 11 Rome
Base de séries temporelles
 Le but est de stocker et de requêter facilement des séries temporelles
 L’exemple choisi n’est pas pertinent ici, il faut quelque chose du genre
 1447160880026027773 ns370781.ip-91-121-193.eu ping.ovh.net 4.346
 Une date (timestamp) et des champs de données
 Il est facile de de gérer ce type de données, et en particulier la durée de rétention
(paramétrée à la création de la table
 Une piste : InfluxDb (de la stack TICK)
20
TICK 21
Dans quels cas choisir un SGBD non classique
 Quand les besoins de débit ou de latence sont prépondérants
 Quand les volumes de données sont énormes
 Quand le modèle relationnel ne fonctionne plus (c’est rare)
 Quand on a besoin de performances plus élevées
 Quand le cout d’un SGDB performant devient prohibitif pour le besoin
 Ne pas oublier ce que l’on perd (ACID) même s’il y a des parades
 Attention à ne pas surestimer le besoin NoSQL
 Il y a des architectes dans les entreprises, c’est leur métier de faire ce genre
de choix
22

Contenu connexe

Similaire à 07 big data sgbd

Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQLBorderCloud
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010JUG Lausanne
 
Modèles de données et langages de description ouverts 5 - 2021-2022
Modèles de données et langages de description ouverts   5 - 2021-2022Modèles de données et langages de description ouverts   5 - 2021-2022
Modèles de données et langages de description ouverts 5 - 2021-2022François-Xavier Boffy
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
Moteurs de recherche et web sémantique
Moteurs de recherche et web sémantiqueMoteurs de recherche et web sémantique
Moteurs de recherche et web sémantiqueAntidot
 
SIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdfSIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdfNadim ELSAKAAN
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoopPatrick Bury
 
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
 
7. information modelling
7. information modelling7. information modelling
7. information modellingsugogo
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureMicrosoft
 
L'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceL'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceMongoDB
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked dataVincentBroute
 
Stream processing et SQL
Stream processing et SQLStream processing et SQL
Stream processing et SQLBruno Bonnin
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven DesignDNG Consulting
 
20121009 10-datalift-camp-paris
20121009 10-datalift-camp-paris20121009 10-datalift-camp-paris
20121009 10-datalift-camp-parisDatalift
 

Similaire à 07 big data sgbd (20)

Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Metadonnees et SID
Metadonnees et SIDMetadonnees et SID
Metadonnees et SID
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQL
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Modèles de données et langages de description ouverts 5 - 2021-2022
Modèles de données et langages de description ouverts   5 - 2021-2022Modèles de données et langages de description ouverts   5 - 2021-2022
Modèles de données et langages de description ouverts 5 - 2021-2022
 
mix-it 2011
mix-it 2011mix-it 2011
mix-it 2011
 
ORM
ORMORM
ORM
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
Moteurs de recherche et web sémantique
Moteurs de recherche et web sémantiqueMoteurs de recherche et web sémantique
Moteurs de recherche et web sémantique
 
SIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdfSIBD101-Introduction aux bases de données.pdf
SIBD101-Introduction aux bases de données.pdf
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
10 big data hadoop
10 big data hadoop10 big data hadoop
10 big data hadoop
 
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
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
L'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceL'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFrance
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked data
 
Stream processing et SQL
Stream processing et SQLStream processing et SQL
Stream processing et SQL
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
 
20121009 10-datalift-camp-paris
20121009 10-datalift-camp-paris20121009 10-datalift-camp-paris
20121009 10-datalift-camp-paris
 

Plus de Patrick Bury

16 graph databases
16 graph databases16 graph databases
16 graph databasesPatrick Bury
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azurePatrick Bury
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlabPatrick Bury
 
13 big data docker
13 big data docker13 big data docker
13 big data dockerPatrick Bury
 
08 big data dataviz
08 big data dataviz08 big data dataviz
08 big data datavizPatrick Bury
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreducePatrick Bury
 
06 cloud souverain
06 cloud souverain06 cloud souverain
06 cloud souverainPatrick Bury
 
05 creation instance ovh
05 creation instance ovh05 creation instance ovh
05 creation instance ovhPatrick Bury
 
04 big data fournisseurs
04 big data fournisseurs04 big data fournisseurs
04 big data fournisseursPatrick Bury
 
03 big data stockage
03 big data stockage03 big data stockage
03 big data stockagePatrick Bury
 
03 big data échelle
03 big data échelle03 big data échelle
03 big data échellePatrick Bury
 
02 big data definition
02 big data definition02 big data definition
02 big data definitionPatrick Bury
 
01 big data introduction
01 big data introduction01 big data introduction
01 big data introductionPatrick Bury
 
16 graph databases
16 graph databases16 graph databases
16 graph databasesPatrick Bury
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azurePatrick Bury
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlabPatrick Bury
 

Plus de Patrick Bury (20)

100 évaluation
100 évaluation100 évaluation
100 évaluation
 
16 graph databases
16 graph databases16 graph databases
16 graph databases
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azure
 
11 big data aws
11 big data aws11 big data aws
11 big data aws
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlab
 
13 big data docker
13 big data docker13 big data docker
13 big data docker
 
08 big data dataviz
08 big data dataviz08 big data dataviz
08 big data dataviz
 
12 big data azure
12 big data azure12 big data azure
12 big data azure
 
09 big data mapreduce
09 big data mapreduce09 big data mapreduce
09 big data mapreduce
 
06 cloud souverain
06 cloud souverain06 cloud souverain
06 cloud souverain
 
05 creation instance ovh
05 creation instance ovh05 creation instance ovh
05 creation instance ovh
 
04 big data fournisseurs
04 big data fournisseurs04 big data fournisseurs
04 big data fournisseurs
 
03 big data stockage
03 big data stockage03 big data stockage
03 big data stockage
 
03 big data échelle
03 big data échelle03 big data échelle
03 big data échelle
 
02 big data definition
02 big data definition02 big data definition
02 big data definition
 
01 open data
01 open data01 open data
01 open data
 
01 big data introduction
01 big data introduction01 big data introduction
01 big data introduction
 
16 graph databases
16 graph databases16 graph databases
16 graph databases
 
15 map reduce on azure
15 map reduce on azure15 map reduce on azure
15 map reduce on azure
 
14 big data gitlab
14 big data gitlab14 big data gitlab
14 big data gitlab
 

07 big data sgbd

  • 1. Big Data BASES DE DONNÉES
  • 2. Des données  Une mesure  Un modèle => c’est-à-dire une représentation de la réalité physique  Une donnée => on stocke, range le tout 2
  • 3. Sommaire  Les bases relationnelles  Le grand classique  Les base orientées documents  On stocke des documents, en vrac  Les bases colonnes  On historise  Les bases graphe  On s’intéresse aux relations entre des données  Les bases temporelles  Des valeurs en fonction du temps  Bases sémantiques  Web sémantiques, données RDF 3
  • 4. Un exemple  Pierre  une personne  une entité  Des propriétés  Prends l’avion à 15h00  une action  une relation  Une propriété  Pour Paris  Un lieu  Une entité  Des propriétés 4
  • 5. The table Personne (nom) Moyen Heure Destination Pierre Avion 15 Paris Paul Train 12 Marseille Jacques Voiture 11 Rome 5
  • 6. Bases relationnelles  P.ex. Oracle, MariaDb, MySQL  Ce sont des bases  Relationnelles : on peut établir des relations entre entités et les requêter ensuite  Transactionnelles : on assure la cohérence des données écrites au sein d’une transaction, en cas de souci, tout est rejeté  Elles disposent d’un langage de requêtage : Standard Query Langage (SQL) très largement répandu  Réplication maitre-esclave 6
  • 7. Bases relationnelles 7 SELECT p.nom, m.nom, m.heure, d.destination FROM Personne p JOIN moyen_de_transport ON p.personneId=m.PersonID JOIN destination d ON d.destinationID=m.destinationID p.nom m.nom m.heure d.destination Pierre avion 15 paris
  • 8. 8
  • 9. Force des SGBD classiques  Le modèle est indépendant du stockage disque  Requêtes pouvant être complexes ( parcours sup p.ex.)  Optimisation des requêtes par des index  Stables, mur, interfaces disponibles  Contraintes d’intégrité (un prix doit être >0)  Gestion efficace de gros volumes de données  Transactions :  Gère les accès concurrents  Reprise sur panne 9
  • 10. ACID  Atomicité : l’ensemble des opérations est réalisé en bloc, annulée en bloc  Cohérence : les transactions respectent les contraintes du modèle créé par l’utilisateur  Isolation : Deux exécutions concurrentes renvoie le même résultat que deux exécutions à la suite  Durabilité : une fois la transaction terminée, les données sont pérennes 10
  • 11. Inconvénients des SGBD classiques  Ne permettent pas de gérer des TRES gros volumes de données (To)  Limitée par la vitesse des accès disque (ou SSD plus chers)  Le modèle relationnel n’est pas adapté aux données  Peu structurées  Pas structurées  Hiérarchiques  Les propriétés ACID :  Consomment des ressources  Diminuent les performances 11
  • 12. Bases NoSql  Not Only SQL  Certains compromis sont différents de ceux des bases SQL  Modèles de données spécialisés dans certaines taches  Souvent les propriété ACID sont abandonnées  Quelques exemples :  XML : données hiérarchiques  Objet : données complexes avec données et méthodes  Graphes : graphes avec nœuds, arrêtes, propriétés  Triplets : Triplets RDF du WEB sémantique  Clef-valeur : une valeur associée à un identifiant 12
  • 13. Bases orientées documents  Elles sont efficaces pour gérer de grands nombres de documents  Pas de contraintes sur le format du document  On retrouve un document pas son identifiant  Pb : trouver le bon identifiant  Par exemple MongoDb  Souvent les documents sont écrits en json ou XML  Requêtes très simples : PUT, GET  De fait s’utilise souvent avec un moteur de recherche, qui indexe les documents pour retrouver ensuite leur Id (SolR, ElasticSearch) 13
  • 14. Bases orientées documents 14 Db.voyages.save({ _id :abb72107-2d4f-40b1-ba09-095b8d1fcf2f, Nom: pierre, moyen_de_transport: { Nom: avion, Heure : 15 }, Destination : paris }) Db.voyages.find({ Nom: Pierre }) {" Nom " : " pierre "," Destination" : "paris " , " moyen_de_transport " : {" nom " : " avion " , " heure « : 15 }}
  • 15. Base orientée colonnes  Au lieu de stocker les données lignes par lignes, on les stocke colonne par colonne  Modèle plus riche que clef-valeur  Rend très efficace l’agrégation sur une colonne  Rend difficile la mise à jour (UPDATE) d’un document  Passage en mode distribué très très simple 15
  • 17. Base graphe 17 CREATE (p:Personne {nom:Pierre}) -[u:UTILISE_POUR_ALLER{nom:avion, heure:15}] ->(d:Destination (Destination:Paris)} MATCH (p:Personne)-[u:UTILISE_POUR_ALLER]-(d:destination) RETURN p,u,d
  • 19. Comparatif structures 19 Personne (nom) Moyen Heure Destination Pierre Avion 15 Paris Paul Train 12 Marseille Jacques Voiture 11 Rome
  • 20. Base de séries temporelles  Le but est de stocker et de requêter facilement des séries temporelles  L’exemple choisi n’est pas pertinent ici, il faut quelque chose du genre  1447160880026027773 ns370781.ip-91-121-193.eu ping.ovh.net 4.346  Une date (timestamp) et des champs de données  Il est facile de de gérer ce type de données, et en particulier la durée de rétention (paramétrée à la création de la table  Une piste : InfluxDb (de la stack TICK) 20
  • 22. Dans quels cas choisir un SGBD non classique  Quand les besoins de débit ou de latence sont prépondérants  Quand les volumes de données sont énormes  Quand le modèle relationnel ne fonctionne plus (c’est rare)  Quand on a besoin de performances plus élevées  Quand le cout d’un SGDB performant devient prohibitif pour le besoin  Ne pas oublier ce que l’on perd (ACID) même s’il y a des parades  Attention à ne pas surestimer le besoin NoSQL  Il y a des architectes dans les entreprises, c’est leur métier de faire ce genre de choix 22