F - PowerPoint PPT Presentation

View by Category
About This Presentation
Title:

F

Description:

Pr sentation du Mardi 10 juin 2003. Tuy t Tr m DANG NGOC - Universit de Versailles. 2 ... in expr. let $var := expr. where expr. order-by $var. return expr. Ordonnancement. Equivalent ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 76
Provided by: tuyettram
Learn more at: http://dntt.free.fr
Category:
Tags: expr

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: F


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
ltdntt_at_prism.uvsq.frgt
Présentation du Mardi 10 juin 2003
2
Plan
  • Contexte
  • Intégration de données
  • Évaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives

3
Plan
  • Contexte
  • Intégration de données
  • Évaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives
  • 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
Inconvénients des modèles de données classiques
bar nom adresse rue ville telephone boisson
L'Envol NULL LaCépède Paris NULL Maple Kiss, Gin Tonic
Le Frog's 25, Cour Saint Emilion, Paris NULL NULL 0143407071 NULL
L'apparement Café NULL NULL Paris 0148871222, 0148874942 Café, Thé, Chocolat, Margarita, Gin Tonic
  • Valeurs nulles
  • Attributs multi-valués
  • Typages différents
  • Difficultés d'extensions

5
Données semi-structurées
  • ltbargt
  • ltnomgt LEnvol lt/nomgt
  • ltadressegt
  • ltruegt Laceacutepegravede lt/ruegt
  • ltvillegt Paris lt/villegt
  • lt/adressegt
  • ltboissongt Maple Kiss lt/boissongt
  • ltboissongt Gin Tonic lt/boissongt
  • lt/bargt
  • ltbargt
  • ltnomgt Le Frogs lt/nomgt
  • lttelephonegt 01 43 40 70 71lt/telephonegt
  • ltadressegt 25, cour Saint-Emilion
    Parislt/adressegt
  • lt/bargt
  • 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

6
Langage de requête sur XML XQuery
  • for var in expr
  • let var expr
  • where expr
  • order-by var
  • return expr

7
Exemple XQuery
for v in Collection ("")/vols for g in
Collection ("")/guide where v/temps lt 4 and
v/trajet/arrivee g/ville return ltvoyagegt
ltvolgt ltnumgt v/numero lt/numgt
lttrajetgt v/trajet lt/trajetgt lt/volgt
lttemperaturegt g/tpmoy lt/temperaturegt
lthotelsgt for h in Collection
("")/hotels where h/categorie "5"
and v/trajet/arrivee
h/adresse/ville return
lthotelgt ltnomgt h/nom lt/nomgt
ltadressegt h/adresse
lt/adressegt lt/hotelgt
lt/hotelsgt lt/voyagegt
8
Plan
  • Contexte
  • Intégration de données
  • Evaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives
  • Intégration de données Architecture de
    médiation
  • Sources hétérogènes (adaptateurs)
  • Sources distribuées (médiateurs)

9
Architecture de médiation
?
SGBD relationnel
SGBD objet
SGBD Semi-Structuré
Application
Fichiers texte
Fichiers texte
Fichiers HTML
Agence de voyage
Chaîne hôtelière
Horaire des vols
Météo
Informations Pays
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
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
Architecture de médiation
Application utilisateur
Métadonnées
Métadonnées
XQuery
XML
Gestionnaire de coûts
Gestionnaire de coûts
Analyseur
Recomposeur
Structure XQuery
XTuple
Générateur de plans dexécution

Gestionnaire de capacités
Gestionnaire de pilotes XML/DBC
Pilote Médiateur
Pilote SGBD-R
Pilote SGBD-SS
Adaptateur
Adaptateur
Adaptateur
SGBD-SS
SGBD-R
Médiateur
13
Plan
  • Contexte
  • Intégration de données
  • Evaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives
  • Evaluation de requêtes
  • Construction d'un plan d'exécution (XAlgèbre)
  • Evaluation

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

15
Construction du plan dexécution
for v in Collection ("")/vols for g in
Collection ("")/guide where v/temps lt 4 and
v/trajet/arrivee g/ville return ltvoyagegt
ltvolgt ltnumgt v/numero lt/numgt
lttrajetgt v/trajet lt/trajetgt lt/volgt
lttemperaturegt g/tpmoy lt/temperaturegt
lthotelsgt for h in Collection
("")/hotels where
h/categorie "5" and
v/trajet/arrivee h/adresse/ville
return lthotelgt
ltnomgt h/nom lt/nomgt
ltadressegt h/adresse lt/adressegt
lt/hotelgt lt/hotelsgt lt/voyagegt
  • 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
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 ATT

Répond aux mêmes critères que le langage de
requête
17
Xtuples motivations
 Projection sur le nom et ladresse de chaque
bar.
  • Opération directe sur arbres
  • Pb coût de navigation
  • Transformation en tableau et opération
    relationnelle sur table
  • Pb coût de construction du tableau et la
    reconstruction de larbre
  • Conservation de larbre et peu de navigation

18
XTuples définition
  • Un XTuple est composé de
  • un ensemble darbre A
  • 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

A
R
a/c
f/h/i
f/g
a/b
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
Evaluation en flux
ltagt ltbgtx1lt/bgt ltcgt ltdgty1lt/dgt
ltegtz1lt/egt ltfgtt1lt/fgt ltcgt ltdgtu1lt/dgt
ltagt
ltagt ltbgtxlt/bgt ltcgt ltdgtylt/dgt
ltegtzlt/egt ltfgttlt/fgt ltcgt ltdgtult/dgt ltagt
ltagt ltbgtx1lt/bgt ltcgt ltdgty1lt/dgt
ltegtz1lt/egt ltfgtt1lt/fgt ltcgt ltdgtu1lt/dgt
ltagt
XSource
XProject
Requête X sur source S1 références a, a/b et a/c
Projection sur a et a/b
ltagt ltbgtxlt/bgt ltcgt ltdgtylt/dgt
ltegtzlt/egt ltfgttlt/fgt ltcgt ltdgtult/dgt ltagt
ltagt ltbgtx2lt/bgt ltcgt ltdgty2lt/dgt
ltegtz2lt/egt ltfgtt2lt/fgt ltcgt ltdgtult/dgt
ltagt
ltagt ltbgtx2lt/bgt ltcgt ltdgty2lt/dgt
ltegtz2lt/egt ltfgtt2lt/fgt ltcgt ltdgtu2lt/dgt
ltagt
T1
a/b
a
T1
a/b
a
a/c
ltagt ltbgtx3lt/bgt ltcgt ltdgty3lt/dgt
ltegtz3lt/egt ltfgtt3lt/fgt ltcgt ltdgtu3lt/dgt
ltagt
ltagt ltbgtxlt/bgt ltcgt ltdgtylt/dgt
ltegtzlt/egt ltfgttlt/fgt ltcgt ltdgtult/dgt ltagt
ltagt ltbgtx2lt/bgt ltcgt ltdgty2lt/dgt
ltegtz2lt/egt ltfgtt2lt/fgt ltcgt ltdgtu2lt/dgt
ltagt
21
Arbre algébrique
for v in Collection ("")/vols where v/temps lt
4 return ltvoyagegt ltvolgt
ltnumgtv/numlt/numgt lttrajetgtv/trajetlt/tra
jetgt lt/volgt lthotelsgt for h in
Collection ("")/hotels where
h/categorie"5" and
v/trajet/arriveeh/adresse/ville
return lthotelgt
ltnomgth/nomlt/nomgt
ltadressegth/adresselt/adressegt
lt/hotelgt lt/hotelsgt lt/voyagegt
22
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

23
Plan
  • Contexte
  • Intégration de données
  • Évaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives
  • Validation
  • Prototypes (projets MIROWEB, XML-KM et MUSE)
  • Cas d'utilisation (use-case du XQuery Working
    Group)
  • Performance (benchmark TPC-R adapté)

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

25
Evaluation (2/2)
  • Jointure inter-sites

26
Plan
  • Contexte
  • Intégration de données
  • Evaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives
  • 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
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
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)
  • Adapté au semi-structuré
  • Profondeur des arbres
  • Temps de référencement dun noeud fils
  • Nombre de fils moyen par noeuds

29
Cache sémantique
Contenance des prédicats
  • 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

date gt 1976
date gt 1966
Contenance des chemins
30
Langage de description des capacités
dinterrogation
  • ltrulesetgt
  • ltrule num"10"gt
  • ltpermissiongt allow lt/permissiongt
  • ltrelationalopgt scan lt/relationalopgt
  • lt/rulegt
  • ltrule num"100"gt
  • ltpermissiongt allow lt/permissiongt
  • ltrelationalopgt select lt/relationalopgt
  • ltcollection1gt
  • lthotelgtltcategoriegtlt/categoriegtlt/hotelgt
  • lt/collection1gt
  • ltoperatorgt less lt/operatorgt
  • lt/rulegt
  • ltrule num"200"gt
  • ltpermissiongt deny lt/permissiongt
  • ltrelationalopgt select lt/relationalopgt
  • lt/rulegt
  • ltrule num "300"gt
  • ltpermissiongt allow lt/permissiongt
  • Sources de capacités dinterrogation différentes
  • Adaptateur peut pallier certaines déficiences de
    la source
  • Le médiateur pallie les déficiences de
    ladaptateursource

num perm operat coll att comp coll att
10 allow scan
100 allow select hotel categorie less
200 deny select
300 allow project hotel
65535 deny
31
Plan
  • Contexte
  • Intégration de données
  • Évaluation de requêtes
  • Validation
  • Optimisation
  • Conclusion et perspectives
  • Conclusion et perspectives
  • Synthèse Contributions
  • Perspectives

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
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
  • XQuery
  • Publications
  • Banc dessai
  • Flux SAX et arbre DOM
  • Use-cases
  • Evolution technique
  • Prototypes
  • Exportation plan dexécution
  • Formules de coût
  • Cache
  • Métadonnées
  • XLive
  • XTuple
  • Bibliographie
  • XOpérateurs

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 506-519
  • 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 750-753
  • T.-T. Dang-Ngoc (Osis/PRiSM), D. Artal (Osis), C.
    Campanaro (Osis), P. Kirkham (Osis), H. Laude
    (Osis), A. Vuillier (Osis),  Integration Plan
    (ESPRIT-25208 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-25208 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-25208 Deliverable
    D5-1-1) , 1998

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 839-846

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
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
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
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
XTuples
Reference Part ( R )
XAttributes
person/lastname
person/address
Tree Part ( T )
person/name
car/color
Tree
person
car
address
name
lastname
name
color
age
Superman
Clark
Kent
street
town
blue
657
Metropolis
42
car
person
color
age
address
name
lastname
name
blue
1
Batman
Bruce
Wayne
street
town
Gotham
17
person
car
age
address
color
name
lastname
4
Lois
Lane
blue
street
town
Metropolis
28
person
car
color
age
address
name
name
blue
13
Spiderman
Parker
street
town
New York
121
43
XOpérateurs (1/3)
  • XSource
  • construction XAttribut
  • construction forêt
  • ordre de la source
  • non-bloquant

a
b
c
XSource
ltSAX/gt
  • XProjection
  • destruction de colonnes
  • destruction de (sous-)arbres
  • ordre préservé
  • non-bloquant

b
c
a
b
c
XProjection
  • XRestriction
  • destruction de lignes complète
  • ordre préservé
  • non bloquant

a
b
c
a
b
c
XRestriction
44
XOpérateurs (2/3)
  • XUnion
  • ordre préservé en mode bloquant, non préservé
    sinon
  • bloquant ou non suivant paramétrage

XUnion
a
b
c
a
b
c
  • XJointure
  • ajout de colonnes
  • ajout/concaténation darbres
  • ordre préservé en mode bloquant, non préservé
    sinon
  • bloquant ou non suivant paramétrage

a
b
c
XJointure
d
e
a
b
c
d
e
f
45
XOpérateurs (3/3)
  • Tri (XSORT-BY)
  • déplacement de lignes complètes
  • bloquant

a
b
c
a
b
c
Tri
  • Fonction dagrégat (Xmin, Xmax, Xcount)
  • nouvelle colonne (1 ligne)
  • nouveau arbre dun noeud
  • bloquant
  • XReconstruct
  • génération dun flux SAX résultat
  • A partir dune requête de reconstruction

a
b
c
XReconstruct
ltSAX/gt
46
XProjection
47
XJointure
48
XProduit
49
XNest
50
XLive (XML Light Integration Virtual Engine)
XML
USER
GUI
HTML
XQuery
XQuery parser
Presentation
Capability manager
XSL
XQuery internal structure
XPlan generator
XML Native Database
Cost manager
SAX event flow
MEDIATOR
XAlgebra
Indexation
Metadata manager
XPlan optimizer
Flow evaluation
Cache
SAX event flow
XQuery
XML-Schema
Connection manager
XQuery
XQuery
XQuery
XML
XML
XML
SOAP
SOAP
SOAP
SOURCE
Oracle 9i wrapper
Web wrapper
Web wrapper
HTML
GET, POST
GET, POST
oracle XDB
HTML
Oracle 9i
WEB
51
Evolution technique XML
  • parse XML -gt DOM -gt SAX
  • SQLX -gt XML-QL -gt XQuery
  • dataguide, DTD -gt XML-Schema
  • OEM -gt XML
  • socket -gt RMI -gt SOAP

52
Use-cases
domaine description numéro de requêtes
1 XMP exemples généraux 1 2 3 4 5 6 7 8 9 10 11 12
2 TREE préservant la hiérarchie 1 2 3 4 5 6
3 SEQ basées sur les séquences 1 2 3 4 5
4 R accès aux données relationnelles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
5 SGML basé sur tests SGML 1 2 3 4 5 6 7 8 9 10
6 STRING recherche de chaîne de caractères 1 2 3 4 5 6
7 NS utilisant les espaces de noms 1 2 3 4 5 6 7 8
8 PARTS récursivité et références externes 1
9 STRONG utilisant des données fortement typées 1 2 3 4 5 6 7 8 9 10 11 12
53
Métadonnées (1/2)
54
Métadonnées (2/2)
55
Bancs dessai (1/2)
M0
(b)
M1
M3
M2
A1
A3
A4
A2
A5
A6
A4
A5
A6
A1
A3
A2
(c)
(a)
56
Banc dessai (2/2)
57
Exportation du plan dexécution
ltplplangt ltplxrecomposegt
ltplparamgt lthotelgt
ltnamegth/nomlt/namegt
ltadressegth/adresselt/gt lt/hotelgt
lt/plparamgt ltplxrestrictgt
ltplconstraintgt
ltplleftgth/categorylt/gt ...
  • en XML...
  • pour garder des requêtes  compilées 
  • pour interroger un adaptateur avec un autre (ex.
    pour jointure inter-site)

M
W
W
58
LAV/GAV
Base de données  vue universelle 
Schéma fédéré
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
Compression
  • Pour gagner en temps de communication
  • Compression par blocs
  • Compression par chemins
  • ...

ltagt ltbgtb1lt/bgt ltcgt ltdgtd1lt/dgt
lt/cgt lt/agt ltagt ltbgtb2lt/bgt ltcgt
ltdgtd2lt/dgt lt/cgt lt/agt ltagt ltbgtb3lt/bgt
...
ltagt ltbgt b5 lt/bgt ltcgt ltdgt d5 lt/dgt
lt/cgt lt/agt ltagt ltbgt b6 lt/bgt ltcgt ltdgt d6
lt/dgt lt/cgt lt/agt
ltagt ltbgt b3 lt/bgt ltcgt ltdgt d3 lt/dgt
lt/cgt lt/agt ltagt ltbgt b4 lt/bgt ltcgt ltdgt d4
lt/dgt lt/cgt lt/agt
ltagt ltbgt b1 lt/bgt ltcgt ltdgt d1 lt/dgt
lt/cgt lt/agt ltagt ltbgt b2 lt/bgt ltcgt ltdgt d2
lt/dgt lt/cgt lt/agt
1 b1 2 d1 / 1 b2 2 d2 / 1 b3 2 d3
a/b 1 a/c/d 2
...
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

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
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

63
Document XML Flux SAX Arbre DOM
startDocument () startElement (personne) startElem
ent (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 ()
ltpersonnegt ltnomgt Cover lt/nomgt ltprenomgt
Harry lt/prenomgt ltadressegt ltruegt
Stendhal lt/ruegt ltvillegt Paris
lt/villegt lt/adressegt lt/personnegt
64
Intégration du cache
Evaluateur du médiateur
id3 id4 id8
Base dhisto- rique
id2 id9
id2 id10
CACHE

id3
Adaptateur
id4
Entrepôt natif de données semi- struc- turées

Source
Mémoire secondaire
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 XSourcecoût coût_source
    communication construction_XTuple

66
Coût des Xopérateurs (2/2)
  • coût dun opérateur autre que XSourcecoût
    coûts_fils coût_opoù coûts_fils ? max
    (coût_filsi), ?(coût_filsi)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)

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.
    1999.
  • 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, 1997.
  • 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
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, 1992.
  • historique Adali1996 S. Adali, K. Candan, et Y.
    Papakonstantinou. Query Caching and Optimization
    in Distributed Mediator Systems. In ACM SIGMOD,
    1996.
  • par adaptateur Haas1997 L.M. Haas, D. Kossmann,
    E.L. Wimmers, et J. Yang. Optimizing Queries
    Across Diverse DataSources. In VLDB, 1997.
  • générique Naacke1998 H. Naacke, G. Gardarin, et
    A. Tomasic. Leveraging Mediator Cost Models with
    Heterogeneous Data Sources. In ICDE, 1998.
  • semi-structuré Widom1999 J. McHugh et J. Widom.
    Query Optimization for XML. In proc. VLDB, 1999.
  • 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
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
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
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

date gt 1966 and date lt 1981
cache R source Ø
date gt 1976 and date lt 1980
cache R source R Rc
date gt 1977 and date lt 2000
cache Ø source R
date gt 2002
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
    ladaptateursource
  • 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
Langage de description des capacités
dinterrogation
  • ltrulesetgt
  • ltrule num"10"gt
  • ltpermissiongt allow lt/permissiongt
  • ltrelationalopgt scan lt/relationalopgt
  • lt/rulegt
  • ltrule num"100"gt
  • ltpermissiongt allow lt/permissiongt
  • ltrelationalopgt select lt/relationalopgt
  • ltcollection1gt
  • lthotelgtltcategoriegtlt/categoriegtlt/hotelgt
  • lt/collection1gt
  • ltoperatorgt less lt/operatorgt
  • lt/rulegt
  • ltrule num"200"gt
  • ltpermissiongt deny lt/permissiongt
  • ltrelationalopgt select lt/relationalopgt
  • lt/rulegt
  • ltrule num "300"gt
  • ltpermissiongt allow lt/permissiongt
  • Basé sur XML
  • Règles ordonnées
  • Permissions par défaut autorisation ou
    interdiction

num perm operat coll att comp coll att
10 allow scan
100 allow select hotel categorie less
200 deny select
300 allow project hotel
65535 deny
75
Xtuples motivations
 Projection sur les enseignes des établissements
gérés par chaque tenancier. 
  • Opération directe sur arbres
  • Pb coût de navigation
  • Transformation en tableau etopération
    relationnelle surtable
  • Pb coût de construction du tableau et la
    reconstruction de larbre
  • Référencement dans un tableauet opération
    relationnelle surtable ET évaluation en flux
  • Conservation de larbre et peu de navigation
About PowerShow.com