SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Constats
     Travaux dans le contexte des SGBDR
                              MapReduce
Travaux dans le contexte des bases NoSQL
                               Conclusion




NoSQL et le stockage de triplets RDF
 AG ANR Datalift (17-18 janvier 2012)

                                  Olivier Cur´
                                             e

                UPEMLV , LIGM UMR CNRS 8049, France


                              January 19, 2012




                             Olivier Cur´
                                        e
Constats
             Travaux dans le contexte des SGBDR
                                      MapReduce
        Travaux dans le contexte des bases NoSQL
                                       Conclusion




Plan
       Constats sur RDF
       Travaux dans le contexte des SGBDR
       Map Reduce
       Travaux dans le contexte des bases NoSQL
       Conclusion




                                     Olivier Cur´
                                                e
Constats
          Travaux dans le contexte des SGBDR
                                   MapReduce
     Travaux dans le contexte des bases NoSQL
                                    Conclusion




Constats
    RDF est un mod`le de donn´es sans aucune recommendation
                      e           e
    sur l’organisation de la persistance des triplets.
    Plusieurs solutions disponibles sur des technologies diff´rentes.
                                                            e
    Fournir une solution efficace, performante, robuste et
    permettant une mont´e en charge est toujours un probl`me
                          e                              e
    ouvert.
    Ecosyst`me des bases de donn´es riche et en ´volution.
           e                    e               e




                                  Olivier Cur´
                                             e
Constats
     Travaux dans le contexte des SGBDR
                              MapReduce
Travaux dans le contexte des bases NoSQL
                               Conclusion




                             Olivier Cur´
                                        e
Constats
          Travaux dans le contexte des SGBDR
                                   MapReduce
     Travaux dans le contexte des bases NoSQL
                                    Conclusion

Ecosyst`me NoSQL
       e




                                  Olivier Cur´
                                             e
Constats
           Travaux dans le contexte des SGBDR
                                    MapReduce
      Travaux dans le contexte des bases NoSQL
                                     Conclusion




Objectifs de la pr´sentation
                  e
    Mettre ´vidence les principales approches au travers des
            e
    param`tres suivants:
          e
          couche de stockage
          indexation
          traitement des requˆtes
                             e
    dans les solutions SGBDR et NoSQL




                                   Olivier Cur´
                                              e
Constats
          Travaux dans le contexte des SGBDR
                                   MapReduce
     Travaux dans le contexte des bases NoSQL
                                    Conclusion




Travaux dans le contexte des SGBDR
   Les premi`res solutions de persistance de triplets RDF se
             e
   basent sur les SGBDR (Jena, Sesame, 3Store, Redland,
   swStore, etc.)
   Plusieurs dispositions possibles:
         ’Triple Table’: ensemble des triplets dans une unique table
         avec 3 colonnes (Sujet, Propri´t´, Objet).
                                         ee
         ’Clustered property table’: Une table par regroupement de
         propri´t´s.
               ee
         ’Property class table’: Regroupement des sujets d’une classe
         dans une table.
         ’Vertically partitioned table’: 1 table par propri´t´. (swStore)
                                                           ee




                                  Olivier Cur´
                                             e
Constats
          Travaux dans le contexte des SGBDR
                                   MapReduce
     Travaux dans le contexte des bases NoSQL
                                    Conclusion




Indexation
    Efficacit´ de l’ex´cution des requˆtes d´pend du syst`me
            e       e               e     e            e
    d’indexation
    Les principales solutions se basent sur de multiples indices
    (Hexastore, Kowari, Virtuoso, RDF-3X, YARS, etc.)
    Hexastore propose une solution bas´e sur 6 indexes diff´rents:
                                         e                e
    pso, pos, spo, sop, ops et osp; 6 indexes binaires
    (sp,so,ps,po,os,op) et 3 unaires (s,p,o)




                                  Olivier Cur´
                                             e
Constats
          Travaux dans le contexte des SGBDR
                                   MapReduce
     Travaux dans le contexte des bases NoSQL
                                    Conclusion




Limites de l’approche SGBDR
   Distribution des donn´es sur plusieurs machines: ’sharding’
                        e
   manuel, temps de latence li´ aux r´plications avec un
                              e       e
   environnement ACID.
   Parall´lisation de certains traitements: difficile d’int´grer des
         e                                               e
   environnements comme MapReduce → Hadapt, Oracle et
   cloudera, Vertica.
   Maintenance des (15!) indexes et performance avec les
   requˆtes de modification
       e




                                  Olivier Cur´
                                             e
Constats
               Travaux dans le contexte des SGBDR
                                        MapReduce
          Travaux dans le contexte des bases NoSQL
                                         Conclusion




Approches distribu´es
                  e
      1   distribue les noeuds du graphe sur un cluster de machines.
      Chaque machine stocke son sous-graphe dans une instance
      RDF-3X
      Les sous graphes partagent des noeuds pour ´viter des
                                                 e
      communications inter-machines.
      Certaines requˆtes s’ex´cuteront en parall`le en utilisant
                     e       e                  e
      Hadoop (impl´mentation de MapReduce).
                    e
      Autres solutions distribu´es: YARS2, SHARD, Virtuoso
                               e



  1
    Huand et al: Scalable SPARQL Querying of Large RDF Graphs. VLDB
2011
                                       Olivier Cur´
                                                  e
Constats
             Travaux dans le contexte des SGBDR
                                      MapReduce
        Travaux dans le contexte des bases NoSQL
                                       Conclusion




MapReduce
       Killer application of cloud computing
       Un environnement pour r´aliser des calculs en parall`le sur des
                              e                            e
       donn´es distribu´es
           e           e   2

       Hadoop, une impl´mentation open-source de la fondation
                        e
       Apache s’int`gre avec de nombreuses bases NoSQL (HBase,
                   e
       Cassandra, CouchDB, etc.).
       Tol´rance aux pannes avec redistribution automatique des
          e
       tˆches sur le noeuds de la grappe de machine.
        a
       Nombreuses extensions apparaissent: apprentissage (Mahout),
       traitement de graphes (Giraph), etc.

   2
   J. Dean et al. ”MapReduce: Simplified Data Processing on Large Clusters”
OSDI 2004
                                     Olivier Cur´
                                                e
Constats
     Travaux dans le contexte des SGBDR
                              MapReduce
Travaux dans le contexte des bases NoSQL
                               Conclusion




                             Olivier Cur´
                                        e
Constats
     Travaux dans le contexte des SGBDR
                              MapReduce
Travaux dans le contexte des bases NoSQL
                               Conclusion




                             Olivier Cur´
                                        e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




D´finition de NoSQL
 e
   Not Only SQL
   Un ensemble de BD r´pondant :
                      e
         ` la croissance exponentielle de la taille des bases de donn´es
         a                                                           e
         la structuration des documents stock´s e
         la connectivit´ des donn´es
                       e          e
         l’architecture des applications exploitant des bases de donn´es
                                                                      e




                                  Olivier Cur´
                                             e
Constats   Key-value
             Travaux dans le contexte des SGBDR     Column family
                                      MapReduce     Document
        Travaux dans le contexte des bases NoSQL    Graphe
                                       Conclusion   Prochaines extensions




Motivation par le th´or`me de CAP3 ,4
                    e e
       Dans un syst`me informatique distribu´, il n’est possible
                    e                       e
       d’avoir simultan´ment plus de deux des propri´t´s suivantes:
                       e                             ee
            Consistency: un service est ex´cut´ totalement ou pas du tout
                                             e e
            (proche du concept d’Atomicit´ d’ACID)
                                              e
            Availability: le service est toujours accessible
            Partitioning tolerance: aucun ensemble de pannes autre que la
            rupture totale du r´seau n’est acceptable pour que le syst`me
                                 e                                    e
            ne fonctionne pas.




   3
     talk at ACM PODC 2000
   4
     S. Gilbert, N.Lynch: Brewer’s conjecture and the feasibility of consistent,
available, partition-tolerant web services. SIGACT News 33(2): 51-59 (2002)
                                     Olivier Cur´
                                                e
Constats   Key-value
     Travaux dans le contexte des SGBDR     Column family
                              MapReduce     Document
Travaux dans le contexte des bases NoSQL    Graphe
                               Conclusion   Prochaines extensions




                             Olivier Cur´
                                        e
Constats   Key-value
           Travaux dans le contexte des SGBDR     Column family
                                    MapReduce     Document
      Travaux dans le contexte des bases NoSQL    Graphe
                                     Conclusion   Prochaines extensions




Les choix possibles
    CA, i.e. faire sans ’partition tolerance’ : Tout sur une seule
    machine, pas de ’scaling out’.
    CP, i.e. faire sans ’availability’: probl`me de temps de latence
                                             e
    entre op´rations de modification. Complexit´ de solutions de
             e                                     e
    recouvrement des bases.
    AP, i.e. faire sans ’consistency’. En fait, il y a un spectre des
    niveaux de consistance, ex: ’eventual consistency’. Un levier
    important des solutions NoSQL.




                                   Olivier Cur´
                                              e
Constats   Key-value
     Travaux dans le contexte des SGBDR     Column family
                              MapReduce     Document
Travaux dans le contexte des bases NoSQL    Graphe
                               Conclusion   Prochaines extensions




                             Olivier Cur´
                                        e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Ecosyst`me NoSQL
       e
    4 cat´gories NoSQL
         e
         Key Value store
         Column family
         Document
         Graphe




                                  Olivier Cur´
                                             e
Constats       Key-value
             Travaux dans le contexte des SGBDR         Column family
                                      MapReduce         Document
        Travaux dans le contexte des bases NoSQL        Graphe
                                       Conclusion       Prochaines extensions




Key-Value (1)
       Origine: Dynamo @ Amazon                     5

       Mod`le de donn´s: Mapping global de couples de cl´ valeur.
           e          e                                 e
       Hash map distribu´
                        e
       Mod`le le plus simple.
          e
       Autres syst`mes: Voldemort (LinkedIn), Tokyo (Cabinet,
                  e
       Tyrant), Riak (Basho), Oracle NOSQL




   5
   G. De Candia et al. Dynamo: Amazon’s highly available key-value store.
SOSP 2007
                                     Olivier Cur´
                                                e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Stockage RDF bas´ Key-Value
                e
   Riak: distribu´, ’horizontal scaling’, map reduce.
                 e
   Exp´rimentation de M.Hausenblas sur le stockage de triplets
      e
   RDF sur Riak.
   En associant chaque ressource RDF ` un objet Riak.
                                     a




                                  Olivier Cur´
                                             e
Constats       Key-value
             Travaux dans le contexte des SGBDR         Column family
                                      MapReduce         Document
        Travaux dans le contexte des bases NoSQL        Graphe
                                       Conclusion       Prochaines extensions




Column family
       Origine: Bigtable @ Google                   6

       Mod`le de donn´es: une unique table avec des familles de
           e         e
       colonnes
       Autres syst`mes: HBase (Apache), Cassandra (Apache),
                  e
       HyperTable, SimpleDB




   6
   F. Chang et al. Bigtable: a distributed storage system for structured data.
OSDI 2006
                                     Olivier Cur´
                                                e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Cassandra
   Organisation sous forme de couples cl´-valeur imbriqu´es
                                        e               e
   keyspace → ColumnFamily → row key → columnKey → value
   keyspace → ColumnFamily → row key → super column key
   → columnKey → value
   Une colonne est compos´e d’un nom, d’une valeur et d’un
                          e
   timestamp (versioning)
   Les colonnes et super colonnes sont tri´es
                                          e




                                  Olivier Cur´
                                             e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Cassandra (2)
    Distribution suivant le principe de ’Consistent hashing’, sur
    une anneau avec une r´plication automatique
                            e
    Distribution apr`s panne est automatique
                    e
    Diff´rents niveaux de consistance
       e




                                  Olivier Cur´
                                             e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions

Exemple Column family




                                  Olivier Cur´
                                             e
Constats   Key-value
             Travaux dans le contexte des SGBDR     Column family
                                      MapReduce     Document
        Travaux dans le contexte des bases NoSQL    Graphe
                                       Conclusion   Prochaines extensions




Stockage RDF bas´ Column Family
                e
       Application de l’indexation de Hexastore dans HBase7 .
       Traitement des requˆtes SPARQL dans le framework
                            e
       MapReduce.
       CumulusRDF8 propose 2 approches: une bas´ sur les super
                                                    e
       colonnes de Cassandra et une bas´e strictement sur les familles
                                        e
       de colonnes. Exploite 3 indexes dans la version super colonnes




   7
     J. Sun et al. Scalable RDF Store Based on HBase and MapReduce.
ICACTE 2010
   8
     G. Ladwig et al. CumulusRDF: Linked Data Management on Nested
Key-Value Stores. SSWS 2011
                                     Olivier Cur´
                                                e
Constats   Key-value
              Travaux dans le contexte des SGBDR     Column family
                                       MapReduce     Document
         Travaux dans le contexte des bases NoSQL    Graphe
                                        Conclusion   Prochaines extensions




Stockage RDF bas´ Column Family (2)
                e
       Stratusstore9 : 1 unique index sur le sujet des triplets sur la
       base SimpleDB du cloud d’Amazon.




  9
      R. Stein et al: RDF On Cloud Number Nine. NeFoRS 2010
                                      Olivier Cur´
                                                 e
Constats   Key-value
         Travaux dans le contexte des SGBDR     Column family
                                  MapReduce     Document
    Travaux dans le contexte des bases NoSQL    Graphe
                                   Conclusion   Prochaines extensions




Document
   Origine: Lotus notes
   Mod`le de donn´es: Collections de documents o` un
       e         e                                 u
   document est une collection de couples cl´-valeur
                                            e
   Autres syst`mes: CouchDB (Apache), MongoDB (10gen),
              e
   Terrastore




                                 Olivier Cur´
                                            e
Constats   Key-value
         Travaux dans le contexte des SGBDR     Column family
                                  MapReduce     Document
    Travaux dans le contexte des bases NoSQL    Graphe
                                   Conclusion   Prochaines extensions




MongoDB
  Une collection regroupe des documents.
  Un document est l’unit´ de base et correspond ` une instance
                        e                       a
  JSON.
  Support du document imbriqu´, listes.
                             e
  Chaque document a une cl´ unique dans une collection.
                          e
  Les collections sont stock´es dans une base de donn´es.
                            e                        e
  Support de l’indexation dans une collection




                                 Olivier Cur´
                                            e
Constats   Key-value
         Travaux dans le contexte des SGBDR     Column family
                                  MapReduce     Document
    Travaux dans le contexte des bases NoSQL    Graphe
                                   Conclusion   Prochaines extensions




MongoDB (2)
   Taille max. d’un document:4Mo.
   2Go avec GridFS
   R´plication bas´e sur une approche Master-Slave avec reprise
     e            e
   sur panne automatique.
   R´plication asynchrone
    e
   Sharding automatique et transparent
   Quand ’sharder’: probl`me d’espace disque, ´crire plus vite,
                         e                    e
   plus de cache




                                 Olivier Cur´
                                            e
Constats   Key-value
         Travaux dans le contexte des SGBDR     Column family
                                  MapReduce     Document
    Travaux dans le contexte des bases NoSQL    Graphe
                                   Conclusion   Prochaines extensions



Exemple Document DB




                                 Olivier Cur´
                                            e
Constats   Key-value
         Travaux dans le contexte des SGBDR     Column family
                                  MapReduce     Document
    Travaux dans le contexte des bases NoSQL    Graphe
                                   Conclusion   Prochaines extensions




Stockage RDF bas´ NoSQL document
                e
   Un adaptateur pour le stockage de triplets RDF sur CouchDB
   (rdf-couchdb sur github)
   Un adaptateur pour MongoDB (MongoDB-RDF sur github)




                                 Olivier Cur´
                                            e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Graphe
   Origine: Th´orie des graphes
              e
   Mod`le de donn´es: Noeuds avec des propri´t´s
      e          e                          ee
   Autres syst`mes: Neo4J, InfiniteGraph, Sones GraphDB,
              e
   Trinity (Microsoft), FlockDB (Twitter donn´ ` Apache)
                                             ea




                                  Olivier Cur´
                                             e
Constats   Key-value
         Travaux dans le contexte des SGBDR     Column family
                                  MapReduce     Document
    Travaux dans le contexte des bases NoSQL    Graphe
                                   Conclusion   Prochaines extensions




Neo4J
   Inspir´ de Lotus Notes
         e
   Des couples cl´-valeur sur les noeuds et les propri´t´s.
                 e                                    ee
   Moteur de stockage sur disque binaire en natif
   Transactionel
   Sharding est manuel
   Mont´e en charge: 1 milliard d’entit´s (Ok) pas 100 milliards.
       e                               e




                                 Olivier Cur´
                                            e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Stockage RDF bas´ sur BD graphe
                e
   Support natif de SPARQL sur Neo4J
   Pas d’exp´rimentation visible (probl`me de distribution)
            e                          e




                                  Olivier Cur´
                                             e
Constats   Key-value
     Travaux dans le contexte des SGBDR     Column family
                              MapReduce     Document
Travaux dans le contexte des bases NoSQL    Graphe
                               Conclusion   Prochaines extensions




                             Olivier Cur´
                                        e
Constats   Key-value
      Travaux dans le contexte des SGBDR     Column family
                               MapReduce     Document
 Travaux dans le contexte des bases NoSQL    Graphe
                                Conclusion   Prochaines extensions




En g´n´ral, on peut repr´senter une instance d’un mod`le
    e e                  e                           e
dans les autres mod`les.
                   e
Pour les syst`mes existants:
             e
     Points communs: pas de sch´ma, pas de jointure
                                  e
     Principales diff´rences: approche de consistance, d´tection des
                    e                                   e
     conflits, contrˆle de la concurrence, int´gration du parall´lisme
                   o                         e                 e




                              Olivier Cur´
                                         e
Constats   Key-value
             Travaux dans le contexte des SGBDR     Column family
                                      MapReduce     Document
        Travaux dans le contexte des bases NoSQL    Graphe
                                       Conclusion   Prochaines extensions




      Plus d’ACIDity10
            MongoDB ajoute ’durable logging storage’ dans sa version 1.7
            Cassandra ajoute une consistance forte dans la version 1.0
      Des langages de requˆtes:
                          e
            MongoDB en a un depuis el d´but
                                       e
            Cassandra : CQL
            Couchbase : UnQL
            Neo4J : Cypher
      Plus de Sch´ma
                 e




10
     Emil Eifrem at NOSQL eXchange 2011
                                     Olivier Cur´
                                                e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Avantages de l’approche NoSQL
   Distribution des donn´es
                        e
   Bonne int´gration avec MapReduce (Hadoop)
            e
   Nombreux projets tr`s actifs
                      e
   RDF semble plus adapt´ ` un contexte BASE que ACID
                        ea




                                  Olivier Cur´
                                             e
Constats   Key-value
          Travaux dans le contexte des SGBDR     Column family
                                   MapReduce     Document
     Travaux dans le contexte des bases NoSQL    Graphe
                                    Conclusion   Prochaines extensions




Limites de l’approche NoSQL
    Maturit´ des impl´mentations
           e         e
    Jointures
    Langages de requˆtes
                    e
    H´t´rog´n´it´ des mod`les
     ee e e e            e
    Manque d’outils pour l’administration




                                  Olivier Cur´
                                             e
Constats
           Travaux dans le contexte des SGBDR
                                    MapReduce
      Travaux dans le contexte des bases NoSQL
                                     Conclusion




Conclusion
   Probl`me du stockage de triplets est ouvert car il faut
         e
   r´pondre aux besoins de
    e
          distribution des donn´es
                                 e
          parall´lisation des traitements
                e
          Maintenance des triplets et des indexes
    NoSQL a de nombreux atouts mais les SGBDR s’adaptent
    (e.g. m´canisme de transaction en RAM).
           e
    L’adoption d’une approche doit ˆtre moti´e par les usages des
                                         e     e
    triplets et choisir l’outil le plus adapt´
                                             e
    Quelques pistes: nouvelles solutions pour l’indexation (e.g.
    ’index cracking’), prendre en compte les ontologies, nouvelles
    infrastructures hybrides SGBDR-NoSQL, etc.


                                   Olivier Cur´
                                              e
Constats
             Travaux dans le contexte des SGBDR
                                      MapReduce
        Travaux dans le contexte des bases NoSQL
                                       Conclusion




Persistance polyglotte
       Dans 11 nous avons propos´ une couche d’abstraction pour
                                  e
       l’acc`s ` des donn´es stock´es dans des SGBDR et NoSQL.
            e a          e        e




  11
    O. Cur´, C. Le Duc et M. Lamolle: Data integration over NoSQL Stores
          e
Using Access Path Based Mappings. Dexa 2011
                                     Olivier Cur´
                                                e
Constats
      Travaux dans le contexte des SGBDR
                               MapReduce
 Travaux dans le contexte des bases NoSQL
                                Conclusion


Les requˆtes sur le sch´ma virtuel (SQL ou SPARQL) sont
         e             e
traduites dans un langage interm´diaire (BQL) pour permettre
                                 e
une traduction vers chaque NoSQL store.




                              Olivier Cur´
                                         e
Constats
      Travaux dans le contexte des SGBDR
                               MapReduce
 Travaux dans le contexte des bases NoSQL
                                Conclusion




Merci de votre attention




                              Olivier Cur´
                                         e

Mais conteúdo relacionado

Semelhante a Data liftjan2012

Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Alexis Seigneurin
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsMICHRAFY MUSTAFA
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataArrow Group
 
SQL Saturday 323 Paris 2014 - HDInsight
SQL Saturday 323 Paris 2014 - HDInsightSQL Saturday 323 Paris 2014 - HDInsight
SQL Saturday 323 Paris 2014 - HDInsightRomain Casteres
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdfhbadir
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentationrajiasellami
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQLOussama ARBI
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016Julien BLAIZE
 
Présentation Map reduce altnetfr
Présentation Map reduce altnetfrPrésentation Map reduce altnetfr
Présentation Map reduce altnetfraltnetfr
 
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
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Dr Hajji Hicham
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataGUSS
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
3 short big_data_oracle
3 short big_data_oracle3 short big_data_oracle
3 short big_data_oraclepour action !
 

Semelhante a Data liftjan2012 (20)

Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)Spark (v1.3) - Présentation (Français)
Spark (v1.3) - Présentation (Français)
 
Spark RDD : Transformations & Actions
Spark RDD : Transformations & ActionsSpark RDD : Transformations & Actions
Spark RDD : Transformations & Actions
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
Techday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big DataTechday Arrow Group: Hadoop & le Big Data
Techday Arrow Group: Hadoop & le Big Data
 
Hadoop Graph Analysis par Thomas Vial
Hadoop Graph Analysis par Thomas VialHadoop Graph Analysis par Thomas Vial
Hadoop Graph Analysis par Thomas Vial
 
Introduction spark
Introduction sparkIntroduction spark
Introduction spark
 
Spark
SparkSpark
Spark
 
SQL Saturday 323 Paris 2014 - HDInsight
SQL Saturday 323 Paris 2014 - HDInsightSQL Saturday 323 Paris 2014 - HDInsight
SQL Saturday 323 Paris 2014 - HDInsight
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
P8 03 presentation
P8 03 presentationP8 03 presentation
P8 03 presentation
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
Spad big data - sfds - 2016
Spad   big data - sfds - 2016Spad   big data - sfds - 2016
Spad big data - sfds - 2016
 
Présentation Map reduce altnetfr
Présentation Map reduce altnetfrPrésentation Map reduce altnetfr
Présentation Map reduce altnetfr
 
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
 
Presentation intis 2017 version27112017
Presentation intis 2017 version27112017Presentation intis 2017 version27112017
Presentation intis 2017 version27112017
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
3 short big_data_oracle
3 short big_data_oracle3 short big_data_oracle
3 short big_data_oracle
 

Data liftjan2012

  • 1. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion NoSQL et le stockage de triplets RDF AG ANR Datalift (17-18 janvier 2012) Olivier Cur´ e UPEMLV , LIGM UMR CNRS 8049, France January 19, 2012 Olivier Cur´ e
  • 2. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Plan Constats sur RDF Travaux dans le contexte des SGBDR Map Reduce Travaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  • 3. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Constats RDF est un mod`le de donn´es sans aucune recommendation e e sur l’organisation de la persistance des triplets. Plusieurs solutions disponibles sur des technologies diff´rentes. e Fournir une solution efficace, performante, robuste et permettant une mont´e en charge est toujours un probl`me e e ouvert. Ecosyst`me des bases de donn´es riche et en ´volution. e e e Olivier Cur´ e
  • 4. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  • 5. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Ecosyst`me NoSQL e Olivier Cur´ e
  • 6. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Objectifs de la pr´sentation e Mettre ´vidence les principales approches au travers des e param`tres suivants: e couche de stockage indexation traitement des requˆtes e dans les solutions SGBDR et NoSQL Olivier Cur´ e
  • 7. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Travaux dans le contexte des SGBDR Les premi`res solutions de persistance de triplets RDF se e basent sur les SGBDR (Jena, Sesame, 3Store, Redland, swStore, etc.) Plusieurs dispositions possibles: ’Triple Table’: ensemble des triplets dans une unique table avec 3 colonnes (Sujet, Propri´t´, Objet). ee ’Clustered property table’: Une table par regroupement de propri´t´s. ee ’Property class table’: Regroupement des sujets d’une classe dans une table. ’Vertically partitioned table’: 1 table par propri´t´. (swStore) ee Olivier Cur´ e
  • 8. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Indexation Efficacit´ de l’ex´cution des requˆtes d´pend du syst`me e e e e e d’indexation Les principales solutions se basent sur de multiples indices (Hexastore, Kowari, Virtuoso, RDF-3X, YARS, etc.) Hexastore propose une solution bas´e sur 6 indexes diff´rents: e e pso, pos, spo, sop, ops et osp; 6 indexes binaires (sp,so,ps,po,os,op) et 3 unaires (s,p,o) Olivier Cur´ e
  • 9. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Limites de l’approche SGBDR Distribution des donn´es sur plusieurs machines: ’sharding’ e manuel, temps de latence li´ aux r´plications avec un e e environnement ACID. Parall´lisation de certains traitements: difficile d’int´grer des e e environnements comme MapReduce → Hadapt, Oracle et cloudera, Vertica. Maintenance des (15!) indexes et performance avec les requˆtes de modification e Olivier Cur´ e
  • 10. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Approches distribu´es e 1 distribue les noeuds du graphe sur un cluster de machines. Chaque machine stocke son sous-graphe dans une instance RDF-3X Les sous graphes partagent des noeuds pour ´viter des e communications inter-machines. Certaines requˆtes s’ex´cuteront en parall`le en utilisant e e e Hadoop (impl´mentation de MapReduce). e Autres solutions distribu´es: YARS2, SHARD, Virtuoso e 1 Huand et al: Scalable SPARQL Querying of Large RDF Graphs. VLDB 2011 Olivier Cur´ e
  • 11. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion MapReduce Killer application of cloud computing Un environnement pour r´aliser des calculs en parall`le sur des e e donn´es distribu´es e e 2 Hadoop, une impl´mentation open-source de la fondation e Apache s’int`gre avec de nombreuses bases NoSQL (HBase, e Cassandra, CouchDB, etc.). Tol´rance aux pannes avec redistribution automatique des e tˆches sur le noeuds de la grappe de machine. a Nombreuses extensions apparaissent: apprentissage (Mahout), traitement de graphes (Giraph), etc. 2 J. Dean et al. ”MapReduce: Simplified Data Processing on Large Clusters” OSDI 2004 Olivier Cur´ e
  • 12. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  • 13. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  • 14. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions D´finition de NoSQL e Not Only SQL Un ensemble de BD r´pondant : e ` la croissance exponentielle de la taille des bases de donn´es a e la structuration des documents stock´s e la connectivit´ des donn´es e e l’architecture des applications exploitant des bases de donn´es e Olivier Cur´ e
  • 15. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Motivation par le th´or`me de CAP3 ,4 e e Dans un syst`me informatique distribu´, il n’est possible e e d’avoir simultan´ment plus de deux des propri´t´s suivantes: e ee Consistency: un service est ex´cut´ totalement ou pas du tout e e (proche du concept d’Atomicit´ d’ACID) e Availability: le service est toujours accessible Partitioning tolerance: aucun ensemble de pannes autre que la rupture totale du r´seau n’est acceptable pour que le syst`me e e ne fonctionne pas. 3 talk at ACM PODC 2000 4 S. Gilbert, N.Lynch: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2): 51-59 (2002) Olivier Cur´ e
  • 16. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Olivier Cur´ e
  • 17. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Les choix possibles CA, i.e. faire sans ’partition tolerance’ : Tout sur une seule machine, pas de ’scaling out’. CP, i.e. faire sans ’availability’: probl`me de temps de latence e entre op´rations de modification. Complexit´ de solutions de e e recouvrement des bases. AP, i.e. faire sans ’consistency’. En fait, il y a un spectre des niveaux de consistance, ex: ’eventual consistency’. Un levier important des solutions NoSQL. Olivier Cur´ e
  • 18. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Olivier Cur´ e
  • 19. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Ecosyst`me NoSQL e 4 cat´gories NoSQL e Key Value store Column family Document Graphe Olivier Cur´ e
  • 20. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Key-Value (1) Origine: Dynamo @ Amazon 5 Mod`le de donn´s: Mapping global de couples de cl´ valeur. e e e Hash map distribu´ e Mod`le le plus simple. e Autres syst`mes: Voldemort (LinkedIn), Tokyo (Cabinet, e Tyrant), Riak (Basho), Oracle NOSQL 5 G. De Candia et al. Dynamo: Amazon’s highly available key-value store. SOSP 2007 Olivier Cur´ e
  • 21. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Stockage RDF bas´ Key-Value e Riak: distribu´, ’horizontal scaling’, map reduce. e Exp´rimentation de M.Hausenblas sur le stockage de triplets e RDF sur Riak. En associant chaque ressource RDF ` un objet Riak. a Olivier Cur´ e
  • 22. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Column family Origine: Bigtable @ Google 6 Mod`le de donn´es: une unique table avec des familles de e e colonnes Autres syst`mes: HBase (Apache), Cassandra (Apache), e HyperTable, SimpleDB 6 F. Chang et al. Bigtable: a distributed storage system for structured data. OSDI 2006 Olivier Cur´ e
  • 23. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Cassandra Organisation sous forme de couples cl´-valeur imbriqu´es e e keyspace → ColumnFamily → row key → columnKey → value keyspace → ColumnFamily → row key → super column key → columnKey → value Une colonne est compos´e d’un nom, d’une valeur et d’un e timestamp (versioning) Les colonnes et super colonnes sont tri´es e Olivier Cur´ e
  • 24. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Cassandra (2) Distribution suivant le principe de ’Consistent hashing’, sur une anneau avec une r´plication automatique e Distribution apr`s panne est automatique e Diff´rents niveaux de consistance e Olivier Cur´ e
  • 25. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Exemple Column family Olivier Cur´ e
  • 26. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Stockage RDF bas´ Column Family e Application de l’indexation de Hexastore dans HBase7 . Traitement des requˆtes SPARQL dans le framework e MapReduce. CumulusRDF8 propose 2 approches: une bas´ sur les super e colonnes de Cassandra et une bas´e strictement sur les familles e de colonnes. Exploite 3 indexes dans la version super colonnes 7 J. Sun et al. Scalable RDF Store Based on HBase and MapReduce. ICACTE 2010 8 G. Ladwig et al. CumulusRDF: Linked Data Management on Nested Key-Value Stores. SSWS 2011 Olivier Cur´ e
  • 27. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Stockage RDF bas´ Column Family (2) e Stratusstore9 : 1 unique index sur le sujet des triplets sur la base SimpleDB du cloud d’Amazon. 9 R. Stein et al: RDF On Cloud Number Nine. NeFoRS 2010 Olivier Cur´ e
  • 28. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Document Origine: Lotus notes Mod`le de donn´es: Collections de documents o` un e e u document est une collection de couples cl´-valeur e Autres syst`mes: CouchDB (Apache), MongoDB (10gen), e Terrastore Olivier Cur´ e
  • 29. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions MongoDB Une collection regroupe des documents. Un document est l’unit´ de base et correspond ` une instance e a JSON. Support du document imbriqu´, listes. e Chaque document a une cl´ unique dans une collection. e Les collections sont stock´es dans une base de donn´es. e e Support de l’indexation dans une collection Olivier Cur´ e
  • 30. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions MongoDB (2) Taille max. d’un document:4Mo. 2Go avec GridFS R´plication bas´e sur une approche Master-Slave avec reprise e e sur panne automatique. R´plication asynchrone e Sharding automatique et transparent Quand ’sharder’: probl`me d’espace disque, ´crire plus vite, e e plus de cache Olivier Cur´ e
  • 31. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Exemple Document DB Olivier Cur´ e
  • 32. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Stockage RDF bas´ NoSQL document e Un adaptateur pour le stockage de triplets RDF sur CouchDB (rdf-couchdb sur github) Un adaptateur pour MongoDB (MongoDB-RDF sur github) Olivier Cur´ e
  • 33. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Graphe Origine: Th´orie des graphes e Mod`le de donn´es: Noeuds avec des propri´t´s e e ee Autres syst`mes: Neo4J, InfiniteGraph, Sones GraphDB, e Trinity (Microsoft), FlockDB (Twitter donn´ ` Apache) ea Olivier Cur´ e
  • 34. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Neo4J Inspir´ de Lotus Notes e Des couples cl´-valeur sur les noeuds et les propri´t´s. e ee Moteur de stockage sur disque binaire en natif Transactionel Sharding est manuel Mont´e en charge: 1 milliard d’entit´s (Ok) pas 100 milliards. e e Olivier Cur´ e
  • 35. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Stockage RDF bas´ sur BD graphe e Support natif de SPARQL sur Neo4J Pas d’exp´rimentation visible (probl`me de distribution) e e Olivier Cur´ e
  • 36. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Olivier Cur´ e
  • 37. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions En g´n´ral, on peut repr´senter une instance d’un mod`le e e e e dans les autres mod`les. e Pour les syst`mes existants: e Points communs: pas de sch´ma, pas de jointure e Principales diff´rences: approche de consistance, d´tection des e e conflits, contrˆle de la concurrence, int´gration du parall´lisme o e e Olivier Cur´ e
  • 38. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Plus d’ACIDity10 MongoDB ajoute ’durable logging storage’ dans sa version 1.7 Cassandra ajoute une consistance forte dans la version 1.0 Des langages de requˆtes: e MongoDB en a un depuis el d´but e Cassandra : CQL Couchbase : UnQL Neo4J : Cypher Plus de Sch´ma e 10 Emil Eifrem at NOSQL eXchange 2011 Olivier Cur´ e
  • 39. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Avantages de l’approche NoSQL Distribution des donn´es e Bonne int´gration avec MapReduce (Hadoop) e Nombreux projets tr`s actifs e RDF semble plus adapt´ ` un contexte BASE que ACID ea Olivier Cur´ e
  • 40. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Limites de l’approche NoSQL Maturit´ des impl´mentations e e Jointures Langages de requˆtes e H´t´rog´n´it´ des mod`les ee e e e e Manque d’outils pour l’administration Olivier Cur´ e
  • 41. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Conclusion Probl`me du stockage de triplets est ouvert car il faut e r´pondre aux besoins de e distribution des donn´es e parall´lisation des traitements e Maintenance des triplets et des indexes NoSQL a de nombreux atouts mais les SGBDR s’adaptent (e.g. m´canisme de transaction en RAM). e L’adoption d’une approche doit ˆtre moti´e par les usages des e e triplets et choisir l’outil le plus adapt´ e Quelques pistes: nouvelles solutions pour l’indexation (e.g. ’index cracking’), prendre en compte les ontologies, nouvelles infrastructures hybrides SGBDR-NoSQL, etc. Olivier Cur´ e
  • 42. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Persistance polyglotte Dans 11 nous avons propos´ une couche d’abstraction pour e l’acc`s ` des donn´es stock´es dans des SGBDR et NoSQL. e a e e 11 O. Cur´, C. Le Duc et M. Lamolle: Data integration over NoSQL Stores e Using Access Path Based Mappings. Dexa 2011 Olivier Cur´ e
  • 43. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Les requˆtes sur le sch´ma virtuel (SQL ou SPARQL) sont e e traduites dans un langage interm´diaire (BQL) pour permettre e une traduction vers chaque NoSQL store. Olivier Cur´ e
  • 44. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL Conclusion Merci de votre attention Olivier Cur´ e