Data liftjan2012

1 557 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 557
Sur SlideShare
0
Issues des intégrations
0
Intégrations
14
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Data liftjan2012

  1. 1. Constats Travaux dans le contexte des SGBDR MapReduceTravaux dans le contexte des bases NoSQL ConclusionNoSQL 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. 2. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionPlan Constats sur RDF Travaux dans le contexte des SGBDR Map Reduce Travaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  3. 3. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionConstats 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. 4. Constats Travaux dans le contexte des SGBDR MapReduceTravaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  5. 5. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionEcosyst`me NoSQL e Olivier Cur´ e
  6. 6. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionObjectifs 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. 7. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionTravaux 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. 8. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionIndexation 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. 9. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionLimites 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. 10. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionApproches 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. VLDB2011 Olivier Cur´ e
  11. 11. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionMapReduce 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. 12. Constats Travaux dans le contexte des SGBDR MapReduceTravaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  13. 13. Constats Travaux dans le contexte des SGBDR MapReduceTravaux dans le contexte des bases NoSQL Conclusion Olivier Cur´ e
  14. 14. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsD´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. 15. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsMotivation 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. 16. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce DocumentTravaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Olivier Cur´ e
  17. 17. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsLes 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. 18. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce DocumentTravaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Olivier Cur´ e
  19. 19. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsEcosyst`me NoSQL e 4 cat´gories NoSQL e Key Value store Column family Document Graphe Olivier Cur´ e
  20. 20. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsKey-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. 21. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsStockage 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. 22. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsColumn 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. 23. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsCassandra 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. 24. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsCassandra (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. 25. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsExemple Column family Olivier Cur´ e
  26. 26. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsStockage 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 NestedKey-Value Stores. SSWS 2011 Olivier Cur´ e
  27. 27. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsStockage 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. 28. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsDocument 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. 29. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsMongoDB 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. 30. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsMongoDB (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. 31. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsExemple Document DB Olivier Cur´ e
  32. 32. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsStockage 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. 33. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsGraphe 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. 34. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsNeo4J 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. 35. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsStockage 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. 36. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce DocumentTravaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensions Olivier Cur´ e
  37. 37. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsEn g´n´ral, on peut repr´senter une instance d’un mod`le e e e edans les autres mod`les. ePour 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. 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 e10 Emil Eifrem at NOSQL eXchange 2011 Olivier Cur´ e
  39. 39. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsAvantages 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. 40. Constats Key-value Travaux dans le contexte des SGBDR Column family MapReduce Document Travaux dans le contexte des bases NoSQL Graphe Conclusion Prochaines extensionsLimites 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. 41. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionConclusion 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. 42. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionPersistance 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 eUsing Access Path Based Mappings. Dexa 2011 Olivier Cur´ e
  43. 43. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionLes requˆtes sur le sch´ma virtuel (SQL ou SPARQL) sont e etraduites dans un langage interm´diaire (BQL) pour permettre eune traduction vers chaque NoSQL store. Olivier Cur´ e
  44. 44. Constats Travaux dans le contexte des SGBDR MapReduce Travaux dans le contexte des bases NoSQL ConclusionMerci de votre attention Olivier Cur´ e

×