Stockage de données XML dans les SGBD relationnels

publicité
Niveau
logique
Niveau
physique
XPATH
SGBDR
XQUERY
LDAP
SGF
SGBD OO
DOM
XML
Système
natif
Plat :
Données :
Plat vs structuré; petit ou volumineux; avec ou sans
schéma, ...
Requêtes :
Avec ou sans maj; accès full-text; navigationnel;
relationnel (jointures, ...)
Besoins applicatifs
Transactions, contrôle de concurrence, réplication, ...
B. Defude - INT Evry - 2003
Un document XML est stocké dans un BLOB
Simple, mais pas de requêtes possibles et maj difficiles
Natif
Définir un nouveau SGBD adapté au stockage de
documents XML
Redéfinir toutes les fonctions classiques d’un SGBD
(transactions, concurrence, …)
Par conversion ou « mapping »
Utiliser un SGBD existant (souvent relationnel) pour
stocker des documents XML
Nécessite certaines extensions (index spécifiques par
exemple)
1
!
# !!
APPLI
Besoins
Représentation concise des documents
Support efficace des API XML
Possibilité de maj données et structure
ENTETE
TITRE
Correspondance entre structure d’arbre et
des pages physiques
LISTE_FORM
UID
MonAppli Citcom/citcom@MICA NOM_TABLE MODE
@INS
De nombreuses possibilités
FORMULAIRE
FORMULAIRE
NOM_TABLE
ATTRIBUT ATTRIBUT
vins
producteurs
MODE
@NOR
ANNEE
CRU
"
%
'( )(
Un placement physique ne peut être optimal
pour toutes les requêtes possibles
Besoin de plusieurs index
XML a besoin d’index
origine
Sur les valeurs
Sur la structure (navigation)
Full-text (mots-clés)
API
Full-text
XPATH
XQUERY
XYLEME
?
O
O
Y
NATIX
Bas niveau
XINDICE
XML:DB
XML:RPC
N
O
N
eXcelon
SGBDOO
DOM/XSLT
O
O
Y
Tamino
ADABAS
DOM/SAX
O
O
Partiel
?
O
O
Y
GoXML
$
B. Defude - INT Evry - 2003
!
&
2
+,
.
Stockage : convertir modèle de données XML
vers graphe, relations, objets
Chargement de données : convertir données
XML vers arcs, tuples, objets
Réécriture de requêtes : transformer
requêtes XML vers requêtes cibles
Transformation du résultat : système cible
vers XML
Défini par l’utilisateur
Générique (fixe)
Dirigé par les données
Dirigé par le schéma
Basé sur un modèle de coût (adaptation aux
besoins réels de l’application)
*
!
/
(
-
(
formulaire
Supporté par la majorité des SGBDR commerciaux
Utilisateur spécifie comment transformer éléments
en relations
Flexible mais
Nécessite de connaitre XML et BD Relationnelles
Beaucoup de solutions possibles (laquelle choisir ?)
Maj des données implique maj du mapping
B. Defude - INT Evry - 2003
)( 0
&0
@valeur
VALEURS &5
Noeu
d
valeur
&3
producteurs
&5
INS
&6
vins
&8
NOR
&9
ANNEE
&10
CRU
ARCS
formulaire
&1
nom_table mode
&3
&4
1
&2
nom_table mode
&6
&7
attribut attribut @valeur
&9
&10
&8
Select V.valeur
From Valeurs V, Arcs A1,
Arcs A2
Where A1.élément=« formulaire »
And A1.cible=A2.source and
A2.élément=« nom_table »
And A2.cible=V.noeud
Sourc
e
cible
Num
fils
élément
&0
&1
1
formulaire
&0
&2
2
formulaire
&1
&3
1
nom_table
&1
&4
2
mode
&4
&5
1
@valeur
&2
&6
1
nom_table
&2
&7
2
mode
&7
&8
1
@valeur
&7
&9
2
attribut
&7
&10
3
attribut
3
Stockage générique (éléments)
FORMULAIRE
&0
formulaire
formulaire
&1
Source cible
&2
nom_table mode
&3
&4
nom_table mode
&6
@valeur
&7
attribut attribut @valeur
&9
&5
&10
&8
Select N.cible
From Formulaire F, Nom_table N
Where F.cible=N.source
32#4
&0
&1
&0
&2
NOM_TABLE
Source
Cible
&1
Producteur
s
&2
Vins
(
)(
Ne tient pas compte de régularité dans la structure
Schéma relationnel canonique
Arcs : stocke tous les arcs dans la même relation
Éléments : partitionne horizontalement relation Arcs sur
éléments
Interrogation : nécessite des jointures
MAJ : pas besoin de changer de schéma relationnel
si le schéma des documents XML évolue
2,
SGBD
Stockage
Chargement Requête
Oracle9i
CLOB
Canonique
Userdefined
SQL Loader Full-text,
Par
XPATH,
programme SQL
DB2
CLOB
Via DAD
Userdefined DAD
SQL+fulltext, SQL
SQL Server
ARCS
Userdefined++
SQL+fulltext, XPATH
OpenXML
Schéma
annoté
2
G. Gardarin; XML des bases de données aux
services web, 2002, Dunod
M. Fernandez, M. Benedikt, J. Freire, A.
Sahuguet; XML and Data Management,
Tutorial WWW2002 Conference, Hawai
D. Chamberlin; Xquery: An XML Query
Language, IBM Systems Journal, Vol41, No4,
2002
Pas de support XQUERY, MAJ via DOM
"
B. Defude - INT Evry - 2003
4
Téléchargement