La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Fédération de données semi-structurées avec XML Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Présentation du Mardi 10.

Présentations similaires


Présentation au sujet: "Fédération de données semi-structurées avec XML Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Présentation du Mardi 10."— Transcription de la présentation:

1 Fédération de données semi-structurées avec XML Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Présentation du Mardi 10 juin 2003

2 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 2 Contexte Intégration de données Évaluation de requêtes Validation Optimisation Conclusion et perspectives Plan

3 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 3 Contexte Intégration de données Évaluation de requêtes Validation Optimisation Conclusion et perspectives Plan Contexte : Représentation du monde réel Données non-régulières (données semi-structurées) Représentation (XML) et langage de requêtes (XQuery)

4 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 4 Inconvénients des modèles de données classiques barnomadresseruevilletelephoneboisson L'EnvolNULLLaCépèdeParisNULLMaple Kiss, Gin Tonic Le Frog's 25, Cour Saint Emilion, Paris NULL NULL L'appare ment Café NULL Paris , Café, Thé, Chocolat, Margarita, Gin Tonic Valeurs nulles Attributs multi-valués Typages différents Difficultés d'extensions

5 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 5 Données semi-structurées Structure implicite définie dans les données elles-mêmes Structure irrégulière données manquantes données multi-valuées données de types différents Structure arborescente Schéma éventuel Représentation SGML, OEM, XML bar nom adresse rue ville boisson telephone boisson bar nom adresse L'Envol Lacépède Paris Maple Kiss Gin Tonic Le Frog's , cour Saint-Emilion Paris Manipulation et traitement complexe LEnvol Lacépegrave;de Paris Maple Kiss Gin Tonic Le Frogs , cour Saint-Emilion Paris LEnvol Lacépegrave;de Paris Maple Kiss Gin Tonic Le Frogs , cour Saint-Emilion Paris

6 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 6 Langage de requête sur XML : XQuery for $var in expr let $var := expr where expr order-by $var return expr for $var in expr let $var := expr where expr order-by $var return expr Ordonnancement Equivalent de ORDER-BY de SQL Ordonnancement Equivalent de ORDER-BY de SQL O O Sous-arbres sélectionnés Présentation des sous-arbres Equivalent du SELECT de SQL avec une reconstruction Sous-arbres sélectionnés Présentation des sous-arbres Equivalent du SELECT de SQL avec une reconstruction R R F F Collection darbres utilisés Equivalent du FROM de SQL Collection darbres utilisés Equivalent du FROM de SQL L L Mémorisation darbres Affectation de variables locales Mémorisation darbres Affectation de variables locales W W Condition (élagage) Equivalent du WHERE de SQL Condition (élagage) Equivalent du WHERE de SQL

7 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 7 Exemple XQuery for $v in Collection ("*")/vols for $g in Collection ("*")/guide where $v/temps < 4 and $v/trajet/arrivee = $g/ville return {$v/numero} {$v/trajet} {$g/tpmoy} { for $h in Collection ("*")/hotels where $h/categorie = "5" and $v/trajet/arrivee = $h/adresse/ville return {$h/nom} {$h/adresse} } for $v in Collection ("*")/vols for $g in Collection ("*")/guide where $v/temps < 4 and $v/trajet/arrivee = $g/ville return {$v/numero} {$v/trajet} {$g/tpmoy} { for $h in Collection ("*")/hotels where $h/categorie = "5" and $v/trajet/arrivee = $h/adresse/ville return {$h/nom} {$h/adresse} } vols temps trajet arrivee depart numero guide ville tpmoy restaurant nom adresse hotels nom adresse rue ville categorie gerant nom prenom note Paris Berlin 18 schönes Murmeltier Mauerstrasse Berlin grosser Pinguin Lindestrasse Berlin Paris Berlin 18 schönes Murmeltier Mauerstrasse Berlin grosser Pinguin Lindestrasse Berlin

8 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 8 Contexte Intégration de données Evaluation de requêtes Validation Optimisation Conclusion et perspectives Plan Intégration de données : Architecture de médiation Sources hétérogènes (adaptateurs) Sources distribuées (médiateurs)

9 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 9 Architecture de médiation SGBD relationnel Application SGBD objet SGBD Semi-Structuré Agence de voyage Chaîne hôtelière Horaire des vols Fichiers texte Fichiers texte Fichiers HTML Informations Pays Météo SQL tuples OQL objets XQuery XML Moteur de recherches textes API instances ? Médiateur Adaptateur SQL OQL tuplesobjets API instances Moteur de recherche textes XQuery XML langage commun de requête format de résultat commun

10 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 10 Architectures de médiation de données semi- structurées Médiation avec modèle relationnel Hermes AGORA/LeSelect, XPeranto, SilkRoute Médiation avec modèle objet DIOM, MOMIS IRO-DB, DISCO Médiation avec modèle semi-structuré GARLIC, TSIMMIS, STRUDEL, YAT, MIX, Nimble, LiquidData

11 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 11 Architecture « Tout-XML » Langage de requête : XQuery Format du résultat : XML Communication avec les adaptateurs : XML/DBC Méta-données : XML-Schema Formules et statistiques de coût : XML + MathML Capacités : XML Exécution de requêtes : XQuery + XML Evaluation de requêtes : XAlgèbre Structures internes : SAX, DOM, XTuple Intégration de données hétérogènes : XML, Relationnel, Web

12 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 12 Architecture de médiation SGBD-R Adaptateur Médiateur Application utilisateur Adaptateur SGBD-SS Pilote SGBD-RPilote SGBD-SS Pilote Médiateur Gestionnaire de pilotes XML/DBC Analyseur Métadonnées Recomposeur Générateur de plans dexécution Gestionnaire de coûts Métadonnées Gestionnaire de coûts XQuery Structure XQuery XAlgèbre executeQuery(XQuery) SQLXPathXQuery TuplesXML XTuple XML Gestionnaire de capacités

13 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 13 Contexte Intégration de données Evaluation de requêtes Validation Optimisation Conclusion et perspectives Plan Evaluation de requêtes Construction d'un plan d'exécution (XAlgèbre) Evaluation

14 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 14 Évaluation de requêtes distribuées semi- structurées Intégration de données Analyse de la requête Création du plan dexécution identification des opérations à réaliser localisation des sources optimisation Évaluation et recomposition des résultats Cas des données semi-structurées Restructuration Objets multi-valués Composition de graphes Construction de larbre algébrique

15 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 15 for $v in Collection ("*")/vols for $g in Collection ("*")/guide where $v/temps < 4 and $v/trajet/arrivee = $g/ville return {$v/numero} {$v/trajet} {$g/tpmoy} { for $h in Collection ("*")/hotels where $h/categorie = "5" and $v/trajet/arrivee = $h/adresse/ville return {$h/nom} {$h/adresse} } let t1 := for $v in Collection ("*")/vols for $g in Collection ("*")/guide where $v/temps < 4 and $v/trajet/arrivee = $g/ville return ($v/numero, $v/trajet, $v/trajet/arrivee, $g/tpmoy) let t2 := for $v in $t1 for $h in Collection ("*")/hotels where $h/categorie = "5« and $t1/trajet/arrivee = $h/adresse/ville return ($h/nom, $h/adresse, $h/adresse/ville) {$v/numero} {$v/trajet} {$g/tpmoy} {$h/nom} {$h/adresse} Req. élément. 2 Reconstruction Req. élément. 1 Construction du plan dexécution for $v in Collection ("*")/vols where $v/temps < 4 return ($v/numero, $v/trajet, $v/trajet/arrivee) for $g in Collection ("*")/guide return ($g/tpmoy) for $h in Collection ("*")/hotels where $h/categorie = "5 " return ($h/nom, $h/adresse, $h/adresse/ville) $v/trajet/arrivee = $g/ville for $v in $t1 return ($t1/trajet/arrivee ) $t1/trajet/arrivee = $h/adresse/ville Atom. 1.1 Atom. 1.2 Atom. 2.1 Atom. 2.2 Recomp. 1 Recomp. 2 {$v/numero} {$v/trajet} {$g/tpmoy} {$h/nom} {$h/adresse} Reconstruction S1 S2 S1, S3 for $v in vols where $v/temps < 4 return ($v/numero, $v/trajet, $v/trajet/arrivee) for $g in guide return ($g/tpmoy) $v/trajet/arrivee = $g/ville $t1/trajet/arrivee = $h/adresse/ville for $h in hotels where $h/categorie = "5 " return ($h/nom, $h/adresse, $h/adresse/ville) for $h in hotels where $h/categorie = "5 " return ($h/nom, $h/adresse, $h/adresse/ville) U Résultat {$v/numero} {$v/trajet} {$g/tpmoy} {$h/nom} {$h/adresse} S1 S2 S3S1 for $v in vols where $v/temps < 4 return ($v/numero, $v/trajet, $v/trajet/arrivee) for $g in guide return ($g/tpmoy) $v/trajet/arrivee = $g/ville $t1/trajet/arrivee = $h/adresse/ville for $h in hotels where $h/categorie = "5 " return ($h/nom, $h/adresse, $h/adresse/ville) for $h in hotels where $h/categorie = "5 " return ($h/nom, $h/adresse, $h/adresse/ville) U Résultat {$v/numero} {$v/trajet} {$g/tpmoy} {$h/nom} {$h/adresse} S1 S2 S1S3 Normalisation Suppression des affectations (clauses « LET ») Canonisation Désimbrication des requêtes imbriquées Atomisation Séparation des collections Identification des sources Identification des sources gérant chaque collection Création du plan dexécution Transformation en un arbre algébrique Optimisation du plan dexécution Optimisation de larbre algébrique Normalisation Suppression des affectations (clauses « LET ») Canonisation Désimbrication des requêtes imbriquées Atomisation Séparation des collections Identification des sources Identification des sources gérant chaque collection Création du plan dexécution Transformation en un arbre algébrique Optimisation du plan dexécution Optimisation de larbre algébrique

16 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 16 Algèbre Besoins Recherche de chemin Filtrage Construction XML Puissance dinterrogation Support pour un typage flexible Support pour loptimisation Type dalgèbre Extension de lalgèbre classique : IBM, NIAGARA, TAX, YAT Transformation en algèbre relationnelle : AGORA Evaluation sémantique par boucles : AT&T Répond aux mêmes critères que le langage de requête

17 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 17 bar nom adresse rue ville boisson L'Envol Lacépède Paris Maple Kiss Gin Tonic telephone bar nom adresse Le Frog's , cour Saint- Emilion Paris bar nom adresse rue ville boisson L'Envol Lacépède Paris Maple Kiss Gin Tonic telephone bar nom adresse Le Frog's , cour Saint- Emilion Paris bar nom adresse rue ville L'Envol Lacépède Paris bar nom adresse Le Frog's 25, cour Saint- Emilion Paris bar nom adresse rue ville boisson L'Envol Lacépède Paris Maple Kiss Gin Tonic telephone bar nom adresse Le Frog's , cour Saint- Emilion Paris bar/adresse/rue bar/adresse/ville LEnvol LacépèdeParis Maple Kiss Gin Tonic Le Frogs , cour Saint- Emilion Paris bar/nom bar/adressebar/boisson bar/telephone bar nom adresse rue ville L'Envol Lacépède Paris bar nom adresse Le Frog's 25, cour Saint- Emilion Paris bar nom adresse rue ville boisson L'Envol Lacépède Paris Maple Kiss Gin Tonic telephone bar nom adresse Le Frog's , cour Saint- Emilion Paris bar/nom bar/adresse bar/adresse/rue bar/boisson bar/adresse/ville bar/telephone bar nom adresse rue ville boisson L'Envol Lacépède Paris Maple Kiss Gin Tonic telephone bar nom adresse Le Frog's , cour Saint- Emilion Paris bar nom adresse rue ville L'Envol Lacépède Paris bar nom adresse Le Frog's 25, cour Saint- Emilion Paris bar/nom bar/adresse bar « Projection sur le nom et ladresse de chaque bar. » Opération directe sur arbres Transformation en tableau et opération relationnelle sur table Pb : coût de navigation Pb: coût de construction du tableau et la reconstruction de larbre Conservation de larbre et peu de navigation Xtuples : motivations Référencement dans un tableau et opération relationnelle sur table ET évaluation en flux

18 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 18 XTuples : définition Un XTuple est composé de 1.un ensemble darbre A 2.un ensemble de références R sur A. Ces références sont appelées XAttributs. Les opérations relationnelles se font sur R. Les parcours et recomposition se font sur A. Un ensemble de XTuples du même type forment une XRelation b A C a c e d B f E g h i D F j a/b a/cf/h/if/g b G I a c e d H f K g h i J L j AR

19 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 19 Evaluation en flux Les documents XML sont remontés sous forme de flux dévènements (SAX). Les XTuples sont construits au vol sur les flux. Les XOpérateurs (sils ne sont pas bloquants) traitent les XTuples au fur et à mesure. Les XOpérateurs N-aire parallélisent les différents flux de XTuples dentrées.

20 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 20 T1a/ba Projection sur a et a/b Evaluation en flux T1a/ba x1 y1 z1 t1 u1 x y z t u x2 y2 z2 t2 u2 Requête X sur source S1 références a, a/b et a/c x y z t u x3 y3 z3 t3 u3 x y z t u x2 y2 z2 t2 u2 x1 y1 z1 t1 u1 x2 y2 z2 t2 u XSourceXProject a/c

21 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 21 Arbre algébrique for $v in Collection ("*")/vols where $v/temps < 4 return $v/num $v/trajet for $h in Collection ("*")/hotels where $h/categorie="5" and $v/trajet/arrivee=$h/adresse/ville return $h/nom $h/adresse for $v in Collection ("*")/vols where $v/temps < 4 return $v/num $v/trajet for $h in Collection ("*")/hotels where $h/categorie="5" and $v/trajet/arrivee=$h/adresse/ville return $h/nom $h/adresse ($v/temps, $v/num, $v/trajet, $v/trajet/arrivee) ($v/temps, $v/num, $v/trajet, $v/trajet/arrivee) ($h/categorie, $h/adresse/ville, $h/nom, $h/adresse) ($h/categorie, $h/adresse/ville, $h/nom, $h/adresse) ($h/adresse/ville, $h/nom, $h/adresse) ($v/temps, $v/num, $v/trajet, $v/trajet/arrivee,($h/adresse/ville, $h/nom, $h/adresse)) ($v/num, $v/trajet, ($h/nom, $h/adresse)) XSource vols hotels $v/temps<4$h/categorie="5" $v/trajet/arrivee=$h/adresse/ville

22 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 22 XMin abc g XOpérateurs XSource Opérateurs relationnels XProjection XRestriction XJointure Opérateurs ensemblistes XUnion XIntersection XDifférence Tris XOrder-By Agrégats XMin XMax XCount XReconstruction XRestriction abcabc XProjection bcabc abc XSource XJointure abc def abc de Tri abcabc XReconstruct abc abc XUnion abc abc

23 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 23 Contexte Intégration de données Évaluation de requêtes Validation Optimisation Conclusion et perspectives Plan Validation Prototypes (projets MIROWEB, XML-KM et MUSE) Cas d'utilisation (use-case du XQuery Working Group) Performance (benchmark TPC-R adapté)

24 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 24 Evaluation (1/2) Temps dexécution en millisecondes en fonction du nombre de documents résultat sur différentes étapes Rapport des temps médiateur et adaptateur Coût de communication nombre de documents résultats temps (en ms) Total Eval_Med Init Wrapper rapport des temps nombre de documents résultats Rapport M1 A1A1 col1 S1

25 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 25 Evaluation (2/2) Jointure inter-sites Algorithmes de jointures à optimiser Temps de communication dominant nombre de documents résultats temps (en ms) Médiateur M2 S1S2 col1 col2 M2 A1A2 S3 col2 col1 M3 A3

26 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 26 Contexte Intégration de données Evaluation de requêtes Validation Optimisation Conclusion et perspectives Plan Optimisation Evaluation des performances (modèle de coût) Réutilisation des résultats (cache sémantique) Prise en compte des limitations des sources

27 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 27 Modèle de coût Coût dune architecture de médiation Calibration [PEGASUS] pour données objet [IRO-DB] requêtes types pour calibrer paramètres de la source Historique [HERMES] sappuie sur les statistiques des requêtes précédentes Défini par les adaptateurs [GARLIC] défini séparément pour chaque adaptateur + coût par défaut Générique [DISCO] intégrer coût des adaptateurs + coût par défaut + hiérarchie de coût Coût sur données semi-structurées Coût sur modèle semi-structuré dans un entrepôt [LORE] Modèle de coût générique + adaptation au semi-structuré coût des XOpérateurs langage de coût en XML

28 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 28 Langage de communication de coût Communication du coût entre l'adaptateur et le médiateur Basé sur XML Utilise le format mathématique MathML ma_var2 := MA_VAR1 + ma_fonction (ES, 36)... ma_var2 MA_VAR1 ma_fonction ES ma_var2 MA_VAR1 ma_fonction ES Adapté au semi-structuré Profondeur des arbres Temps de référencement dun noeud fils Nombre de fils moyen par noeuds

29 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 29 Cache sémantique Garder un historique des prédicats de requêtes déjà posées. requête dans le cache local requête complémentaire actualiser le cache Utiliser un SGBD semi-structuré natif comme cache PDOM, NatiX, Tamino, ReposiX identifiants uniques déléments a/ba/b/c a b cd e a b cd e Contenance des chemins date > 1976 date > 1966 Contenance des prédicats

30 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 30 Langage de description des capacités dinterrogation allow scan allow select less deny select allow project voiture deny allow scan allow select less deny select allow project voiture deny numpermoperatcollattcompcollatt 10allowscan 100allowselecthotelcategorieless 200denyselect 300allowprojecthotel 65535deny Sources de capacités dinterrogation différentes Adaptateur peut pallier certaines déficiences de la source Le médiateur pallie les déficiences de ladaptateur+source

31 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 31 Contexte Intégration de données Évaluation de requêtes Validation Optimisation Conclusion et perspectives Plan Conclusion et perspectives Synthèse & Contributions Perspectives

32 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 32 Synthèse & contributions Architecture « Tout-XML » respecte les standards XML au maximum évolutivité et modularité XAlgèbre : définition et évaluation Extension de lalgèbre relationnelle : simple Phase de compilation + Évaluation en flux Module doptimisation modèle de coût + langage dexportation cache sémantique en utilisant un SGBD natif XML Extensions langage dexportation de capacité adaptation de TPC-R à un contexte distribué hétérogène

33 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 33 Perspectives Optimisation des plans dexécution trouver des règles déquivalence sur lalgèbre générateur de plans dexécution implémentation de meilleurs algorithmes pour les XOpérateurs requête paramétrée indicateurs (hints) intégrer la gestion des capacités dans la construction des plans dexécution Modules doptimisation compression des données échangées modèle de coût cache sémantique indexation des données Extensions intégration de fonctions externes : pour intégrer des sources multimédia utilisation du web sémantique

34 Questions ?

35 Annexes Bibliographie XLive Use-cases Publications Flux SAX et arbre DOM Prototypes Evolution technique Métadonnées Formules de coût XQuery XOpérateurs Cache Banc dessai XTuple Exportation plan dexécution

36 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 36 Publications (1/3) Projet MIROWEB G. Gardarin, F. Sha, T.-T. Dang-Ngoc, « XML-based Components for Federating Multiple Heterogeneous Data Sources. » ER 1999: L. Bouganim, T. Chan-Sine-Ying, T.-T. Dang-Ngoc, J.-L. Darroux, G. Gardarin, F. Sha, « Miro Web: Integrating Multiple Data Sources through Semistructured Data Types. » VLDB 1999: T.-T. Dang-Ngoc (Osis/PRiSM), D. Artal (Osis), C. Campanaro (Osis), P. Kirkham (Osis), H. Laude (Osis), A. Vuillier (Osis), « Integration Plan (ESPRIT Deliverable D3-1-2) », 1998 T.T. Dang-Ngoc (Osis/PRiSM), T. Chan-Sine-Ying (PRiSM), F. Chéron (Osis), G. Gardarin (PRiSM), P. Kirkham (Osis), H. Laude (Osis), « Browser Interface Specification (ESPRIT Deliverable D6-2-1) », 1998 T. Chan-Sine-Ying (PRiSM), T.T. Dang-Ngoc (Osis/PRiSM), D. Florescu (Inria), C. Campanaro (Osis), P. Kirkham (Osis), « Message Manager Specification (ESPRIT Deliverable D5-1-1) », 1998

37 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 37 Publications (2/3) Projet XML-KM T.-T. Dang-Ngoc, G. Gardarin, « The XML Mediator. » Document technique interne à e-XMLMedia, 26p. Projet MUSE T.-S. Yeh, T.T. Dang-Ngoc, « Repository de méta-données (RNTL Specification SP-3) », 2001 G. Gardarin, A. Mensch, T.-T. Dang-Ngoc, L. Smit, « Integrating Heterogeneous Data Sources with XML and XQuery. » DEXA Workshops 2002:

38 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 38 Publications (3/3) En cours de soumission T.T. Dang-Ngoc, G. Gardarin « Evaluating XQuery in a full- XML Mediation architecture » Soumis à BDA2003 T.T. Dang-Ngoc, G. Gardarin « Integrating Heterogeneous Data Sources » En cours de soumission à IASTED 2003 T.T. Dang-Ngoc, G. Gardarin « Architecture de médiation "Tout-XML". » En cours de soumission à la revue ISI (Integration de systèmes d'information) T.T. Dans-Ngoc, H. Kouh, G. Gardarin « Semantic Integration and XML Mediation For Web Information Search » En cours d'écriture pour WIDM2003

39 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 39 Mise en oeuvre (1/3) MIROWEB (médiateur v0) Lab. PRiSM + SSII Osis Ecriture dun analyseur XML-QL Implémentation dun médiateur simple basé sur une mise à plat des documents OEM Formation de document XML résultat Implémentation dun adaptateur SQLX sur repository OEM et dun adaptateur SQL sur oracle avec pour langage commun OEM Création dun mini-dataguide Protocole denvoi de message entre médiateur et interface client par socket et RMI Conception dune interface graphique cliente

40 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 40 Mise en oeuvre (2/3) XML-KM (médiateur v1) lab. PRiSM puis éditeur e-XMLMédia Conception et implémentation dun médiateur basé sur des documents OEM utilisant un mécanisme dassociation (« binding ») sur variable. Reprise de lanalyseur XML-QL de MIROWEB Prise en charge simple de déficience de capacité de traitement des adaptateurs Création dune base de méta-données Formation de document XML résultat Implémentation dun adaptateur SQLX sur repository OEM et dun adaptateur SQL sur oracle avec pour langage commun XML Conception dune première version dinterface graphique dadministration simple.

41 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 41 Mise en oeuvre (3/3) MUSE (médiateur v2) Lab. PRiSM + éditeur e-XMLMédia Conception et implémentation dun médiateur basé sur des documents XML utilisant la XAlgèbra. Conception et implémentation de la XAlgèbra Conception et implémentation dun gestionnaire de métadonnées utilisant des XML-Schéma et différents index Création dun adaptateur XML/DBC pour le médiateur. Participation aux spécifications dun repository natif XML : ReposiX et implémentation dun module dindexation.

42 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 42 XTuples Reference Part ( R ) Tree Part ( T ) XAttributes Tree person address streettown name BruceWayne lastname Gotham 17 name Batman person address streettown name LoisLane lastname Metropolis 28 person address streettown name Parker New York 121 name Spiderman person address streettown name ClarkKent lastname Metropolis 42 name Superman person/name person/address person/lastname car/color car blue color 657 age car blue color 1 age car blue color 4 age car blue color 13 age

43 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 43 XOpérateurs (1/3) XSource construction XAttribut construction forêt ordre de la source non-bloquant abc XSource XProjection destruction de colonnes destruction de (sous-)arbres ordre préservé non-bloquant XRestriction destruction de lignes complète ordre préservé non bloquant XProjection bcabc XRestriction abcabc

44 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 44 XOpérateurs (2/3) XUnion ordre préservé en mode bloquant, non préservé sinon bloquant ou non suivant paramétrage XJointure ajout de colonnes ajout/concaténation darbres ordre préservé en mode bloquant, non préservé sinon bloquant ou non suivant paramétrage XJointure abc abc XUnion def abc de abc abc

45 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 45 XOpérateurs (3/3) Tri (XSORT-BY) déplacement de lignes complètes bloquant Fonction dagrégat (Xmin, Xmax, Xcount) nouvelle colonne (1 ligne) nouveau arbre dun noeud bloquant Tri abcabc Agrégat abc g XReconstruct génération dun flux SAX résultat A partir dune requête de reconstruction XReconstruct abc

46 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 46 XProjection

47 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 47 XJointure

48 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 48 XProduit

49 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 49 XNest

50 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 50 XLive (XML Light Integration Virtual Engine) WEB Oracle 9i SOAP Oracle 9i wrapper XPlan generator Flow evaluation XQuery XQuery internal structure XQuery XML SAX event flow oracle XDB Presentation XML XPlan optimizer GUI HTML XSL Cache XAlgebra Metadata manager Connection manager Cost manager Capability manager XQuery parser Indexation XML Native Database XQuery SOAP Web wrapper XML XQuery XML XQuery SOAP Web wrapper XML- Schema HTML GET, POST SOURCE MEDIATOR USER

51 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 51 Evolution technique XML parse XML -> DOM -> SAX SQLX -> XML-QL -> XQuery dataguide, DTD -> XML-Schema OEM -> XML socket -> RMI -> SOAP

52 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 52 Use-cases domainedescriptionnuméro de requêtes 1 XMP exemples généraux TREE préservant la hiérarchie SEQ basées sur les séquences R accès aux données relationnelles SGML basé sur tests SGML STRING recherche de chaîne de caractères NS utilisant les espaces de noms PARTS récursivité et références externes1 9 STRONG utilisant des données fortement typées traité non-traité

53 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 53 Métadonnées (1/2)

54 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 54 Métadonnées (2/2)

55 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 55 Bancs dessai (1/2) M4 A7 M2 M3 M1 A1A3 A4A5A6 A2 (a) M0 A1A3 A4 A5A6 A2 (b) (c)

56 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 56 Banc dessai (2/2)

57 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 57 Exportation du plan dexécution en XML... pour garder des requêtes « compilées » pour interroger un adaptateur avec un autre (ex. pour jointure inter-site) $h/nom $h/adresse $h/category [...] $h/nom $h/adresse $h/category [...] WW M

58 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 58 LAV/GAV Schéma fédéré Base de données « vue universelle » vue complexe, multi-relation qui transforme les sources et combine les informations processeur de requêtes LAV Profil de la source Profil de la source

59 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 59 Compression Pour gagner en temps de communication Compression par blocs Compression par chemins [...] b1 d1 b2 d2 b3 [...] b5 d5 b6 d6 b5 d5 b6 d6 b3 d3 b4 d4 b3 d3 b4 d4 b1 d1 b2 d2 b1 d1 b2 d2 [...] a/b : 1 a/c/d : 2 a/b : 1 a/c/d : 2 1 : b1 2 : d1 / 1 : b2 2 : d2 / 1 : b3 2 : d3 1 : b1 2 : d1 / 1 : b2 2 : d2 / 1 : b3 2 : d3

60 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 60 Réplication Utilisation de deux sources identiques ou partielles pour aller plus vite Mises à jour Information au générateur de plan dexécution Peer-to-peer (information sur les voisins, répartition, sources tombant en panne) Pour gérer des sources tombant en panne Médiateur Adaptateur S1

61 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 61 Langages dinterrogation Besoins : Opérateurs standards de requêtes sur bases de données Navigation dans les données Recherche par motifs Interrogation du schéma et des données Construction du résultat Type de langages Extension de langages classiques : SGMLQL, HyOQL, LOREL/OEM- QL Conçus pour le semi-structuré : XML-QL, XQL, QUILT Normalisation : XPath, XQuery XQuery FLWRExpr ::= (ForClause | LetClause)+ WhereClause? "return" Expr ForClause ::= "for" Variable "in" Expr ("," Variable "in" Expr)* LetClause ::= "let" Variable ":=" Expr ("," Variable ":=" Expr)* WhereClause ::= "where" Expr

62 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 62 Gestion de vues et trigger Gestion de vues matérialisée. Mise à jour par déclencheurs (trigger) actifs /passifs Utilisation de cache pour vues matérialisées sous la forme dun SGBD XML natif Web Site Web Loader Web Warehouse SEWISE View Manager XQuery Processor XML Warehouse Coordina tor Web Client XQueryXML Web Logger OK

63 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 63 Document XML – Flux SAX – Arbre DOM Cover Harry Stendhal Paris personne nom prenom adresse rue ville #text: Cover #text: Paris #text: Stendhal #text: Harry startDocument () startElement (personne) startElement (nom) characters (Cover) endElement (nom) startElement (prenom) characters (Harry) endElement (prenom) startElement (adresse) startElement (rue) characters (Stendhal) endElement (rue) startElement (ville) characters (Paris) endElement (ville) endElement (adresse) endElement (personne) endDocument ()

64 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 64 Intégration du cache id3 id4 id8 id2 id9 id2 id10 Base dhisto- rique Entrepôt natif de données semi- struc- turées Mémoire secondaire … … id3 id4 Source Adaptateur Evaluateur du médiateur CACHE a/ba/b/c a b cd e a b cd e Contenance des chemins date > 1976 date > 1966 Contenance des prédicats

65 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 65 Modèle de coût pour médiation de données semi-structurées (1/2) Modèle de coût générique + adaptation au semi- structuré Intégration du modèle de coût communiqué par les adaptateurs Modèle de coûts suivant des formules et statistiques communiquées modèle de coût par défaut hiérarchie des coûts Modèle de coût au niveau du médiateur Formule de coût des XOpérateurs coût dun opérateur XSource coût = coût_source + communication + construction_XTuple

66 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 66 Coût des Xopérateurs (2/2) coût dun opérateur autre que XSource coût= coûts_fils + coût_op où coûts_fils [max (coût_fils i ), (coût_fils i ) suivant le degré de parallélisme Due à la structure des XTuples, le coût dun XOpérateur est celui de lopérateur relationnel plus un éventuel coût de manipulation sur les arbres Exécution d'un XOpérateur phase de pré-compilation (effectuée une seule fois) phase d'exécution (effectuée pour chaque XTuple) XOpérateur fils 1 … fils n

67 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 67 Bibliographie (1/2) Données semi-structurées [Abiteboul1997] S. Abiteboul. Querying Semistructured Data. In proc of the 6th Intl. Conf. on Database Theory, 1997 Architecture de médiation [Wierderhold1992] G. Wiederhold. Mediator in the Architecture of Future Information System. Computer, 25 (3), 1992 Algèbre XML [Beech et al.1999] D. Beech, A. Malhotra, et M. Rys. A Formal Data Model and Algebra for XML [McHugh et Widom1999] J. McHugh, S. Abiteboul, R. Goldman, D. Quass, et J. Widom. LORE: A Database Management System for Semistructured Data. SIGMOD Record, 26(3):54-66, [Fernandez et al.2001] M. Fernandez, J. Simeon, et P. Walder. A Semi-Monad for Semi-structured Data. In International Conference on Database Theory, Janvier 2001.

68 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 68 Bibliographie (2/2) Modèles de coût calibration [Du1992] W. Du, R. Krishnamurthy, et M.-C. Shan. Query optimization in a heterogeneous DBMS. In proc. VLDB, historique [Adali1996] S. Adali, K. Candan, et Y. Papakonstantinou. Query Caching and Optimization in Distributed Mediator Systems. In ACM SIGMOD, par adaptateur [Haas1997] L.M. Haas, D. Kossmann, E.L. Wimmers, et J. Yang. Optimizing Queries Across Diverse DataSources. In VLDB, générique [Naacke1998] H. Naacke, G. Gardarin, et A. Tomasic. Leveraging Mediator Cost Models with Heterogeneous Data Sources. In ICDE, semi-structuré [Widom1999] J. McHugh et J. Widom. Query Optimization for XML. In proc. VLDB, Caches sémantique [Adali1996] S. Adali, K. Candan, et Y. Papakonstantinou. Query Caching and Optimization in Distributed Mediator Systems. In ACM SIGMOD, 1996.

69 Transparents supprimés

70 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 70 Cas dutilisation et bancs dessai Prototype projet ESPRIT MIROWEB projet ESPRIT XML-KM projet RNTL MUSE Tous ont inclus le médiateur sous différentes versions. Cas dutilisation Parmi les cas dutilisation proposés par le W3C, tout ceux spécifiques à lorientation actuelle du médiateur sont évalués correctement (requêtes sur SGBD relationnels, médiation de différentes sources) Bancs dessai Adaptation de TPC-R à un modèle distribué et hétérogène dont semi-structuré Premières mesures de performances encourageantes version 0 : XML-QL version 1 : XML-QL version 2 : XQuery

71 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 71 Modèle de coût Coût dune architecture de médiation Calibration [PEGASUS] requêtes types pour calibrer paramètres de la source affinée avec échantillonnage pour données objets [IRO-DB] Historique [HERMES] sappuie sur les statistiques des requêtes précédentes Défini par les adaptateurs [GARLIC] modèle de coût défini séparément pour chaque adaptateur et coût par défaut pour coût manquant dun adaptateur Générique [DISCO] intégrer modèle de coût des adaptateurs + hiérarchie de coût et coût par défaut pour coût manquant dun adaptateur Coût sur données semi-structurées Coût sur modèle semi-structuré dans un entrepôt [LORE]

72 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 72 Cache sémantique Garder un historique des prédicats de requêtes déjà posées. requête dans le cache local requête complémentaire actualiser le cache Utiliser un SGBD semi-structuré natif comme cache PDOM, NatiX, Tamino, ReposiX identifiants unique délément cache = R source = Ø cache = R source = R – Rc cache = Ø source = R date > 1976 and date < 1980 date > 1977 and date < 2000 date > 2002 date > 1966 and date < 1981

73 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 73 Prise en compte des capacités dinterrogation des sources Source de capacité dinterrogation différentes Ex. SGBD-R: requête complexes, mises à jours, etc. Ex. Page web ou moteur de recherche : possibilité dinterrogation limitée (formulaire) Adaptateur peut pallier certaines déficiences de la source complexe pour les développeurs dadaptateurs Le médiateur pallie les déficiences de ladaptateur+source prise en compte dans la création du plan dexécution prise en compte dans le calcul du modèle de coût et le choix du plan optimal

74 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 74 Langage de description des capacités dinterrogation Basé sur XML Règles ordonnées Permissions par défaut : autorisation ou interdiction allow scan allow select less deny select allow project voiture deny allow scan allow select less deny select allow project voiture deny numpermoperatcollattcompcollatt 10allowscan 100allowselecthotelcategorieless 200denyselect 300allowprojecthotel 65535deny

75 dimanche 3 novembre 2013 Tuyêt Trâm DANG NGOC - Université de Versailles 75 tenancier « Wild Geese » nom établissement enseigne « Joe » Xtuples : motivations tenancier nom etablissement enseigne « Le Falstaff » « John » $t/nom$t/etablissement/enseigne « Joe »« Wild Geese » « John »« Le Falstaff » tenancier « Wild Geese » nom établissement enseigne « Joe » tenancier etablissement enseigne « Le Falstaff » « John » tenancier « Wild Geese » nom établissement enseigne « Joe » tenancier nom etablissement enseigne « Le Falstaff » « John » tenancier « Wild Geese » nom établissement enseigne « Joe » tenancier nom etablissement enseigne « Le Falstaff » « John » $t/nom$t/etablissement/enseigne « Projection sur les enseignes des établissements gérés par chaque tenancier. » Opération directe sur arbres Transformation en tableau et opération relationnelle sur table Référencement dans un tableau et opération relationnelle sur table ET évaluation en flux Pb : coût de navigation Pb: coût de construction du tableau et la reconstruction de larbre tenancier « Wild Geese » nom établissement enseigne « Joe » tenancier nom etablissement enseigne « Le Falstaff » « John » Conservation de larbre et peu de navigation


Télécharger ppt "Fédération de données semi-structurées avec XML Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Présentation du Mardi 10."

Présentations similaires


Annonces Google