NATIX le stockage XML natif - Cedric

Transcription

NATIX le stockage XML natif - Cedric
NATIX
le stockage XML natif
Eric Darondeau
Bases de Données Avancées
CNAM - Valeur C
2 Avril 2002
NATIX
le stockage XML natif
n Le
stockage XML
n La base de données NATIX
n L’algorithme « Tree Growth »
n Conclusion
n Les principales références
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
2
1
Le stockage XML
n Différentes
approches
ü Flat Streams
ü Mapping Relationnel
ü XML Natif
Bases de Données Avancées CNAM - Valeur C
2 Avril 2002
3
Le stockage XML
Flat Streams
n Sérialisation
du document en un flux
caractères
n Format
utilisé
• BLOB
• Fichier plat
n Point
de vue
J Stockage et restitution rapide niveau document
LAccès à la structure via le parsing
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
4
2
Le stockage XML
Mapping Relationnel
n Fragmentation
du document dans une
base de données relationnelle
n Format
utilisé
• Tables
• Types de données relationnels
n Point
de vue
J Robustesse du relationnel
LManipulation de nombreux objets
Bases de Données Avancées CNAM - Valeur C
2 Avril 2002
5
Le stockage XML
XML Natif
n Représentation
du document sous
forme d’un arbre
n Format
utilisé
• Format propriétaire (Type XML Natif)
n Point
de vue
J Représentation hiérarchique et arborescente
LGestion des transactions dans un monde hétérogène
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
6
3
La base de données NATIX
n Les
caractéristiques NATIX
n L’architecture
NATIX
n Le
modèle logique
n Le
modèle physique
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
7
La base de données NATIX
les caractéristiques Natix
n
Université de Mannheim (12/99)
n
Base de données XML Natif
n
Stockage d’arbres dans des records en
s’appuyant sur la sémantique du document
n
Algorithme de split paramétrable
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
8
4
La base de données NATIX
L’architecture Natix
Document
Manager
Schema
Manager
Index
Management
Query
Engine
Tree Storage
Manager
External Storage
Managers
Page / Record
Storage Manager
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
9
La base de données NATIX
L’architecture Natix
n
Le module Page/Record Storage Manager
– Gère les I/O
– Page de 2 à 32 Ko
– Record identifié par un RID (PageId, Slot)
n
Le module Tree Storage Manager
– Mappe les arbres dans les records
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
10
5
La base de données NATIX
Le modèle logique
<COURS>
<SUJET>Bases de données avancées</SUJET>
<PROF>
<NOM>B. Amann</NOM>
<NOM>M. Scholl</NOM>
</PROF>
<PROGRAMME>
<MODULE>Web et données</MODULE>
<MODULE>BD Spaciales</MODULE>
</PROGRAMME>
</COURS>
SUJET
Bases de données
avancées
COURS
PROF
PROGRAMME
NOM
NOM
MODULE
MODULE
B. Amann
M. Scholl
Web et données
BD Objets
Bases de Données Avancées CNAM - Valeur C
2 Avril 2002
11
La base de données NATIX
Le modèle physique
f1
f2
f3
f4
r1
f5
f2
2 Avril 2002
f7
f1
p1
r2
f6
p2
r3
h1
f3
f4
f5
h2
f6
Bases de Données Avancées CNAM - Valeur C
f7
12
6
La base de données NATIX
Le modèle physique
n
Terminologie
– Page : Contient un ensemble de records
è Taille fixe
– Record : Entité manipulable par le RM
è Taille variable
Contient un ensemble de nœ uds clusterisés
n
Classification des nœ uds physiques
– Aggregate : nœ uds possédant des fils
– Literal :
nœ uds terminaux (texte, … )
– Proxy :
nœ uds pointant vers d’autres records
n
Autre classification
– Scaffolding objects : nœ uds « techniques »
– Facade objects :
nœ uds logiques
Bases de Données Avancées CNAM - Valeur C
2 Avril 2002
13
La base de données NATIX
Le record
Byte Repr.
10 Bytes
6 Bytes
Header
Header
Structure
Content Type
Header
node
Embedded
OTHELLO
6 Bytes
Header
Contents
String literal node
Contents
SPEAKER node
Header
Aggregate
Litteral (typé)
Proxy
Taille Objet
Logical Type
Pointeur Père
Header
node
Stanaloane
6 Bytes
RID parent
Type Index
2 Avril 2002
6 Bytes
Let me …
6 Bytes
Header
Contents
String literal node
Contents
LINE node
Contents
SPEECH node
Header
6 Bytes
Look in …
Header
Contents
String literal node
Contents
LINE node
SPEECH
Tag
Attribut
SPEAKER
LINE
LINE
OHELLO
Let me see your eyes
Look in my face
Bases de Données Avancées CNAM - Valeur C
14
7
L’algorithme « Tree Growth »
n La
problématique d’insertion
n La
cinématique
n L’algorithme
n Les
2 Avril 2002
par l’exemple
paramètres de configuration
Bases de Données Avancées CNAM - Valeur C
15
L’algorithme « Tree Growth »
La problématique d’insertion
Principal problème
Que faire si l’arbre est plus gros que la page ?
Solution
ŒPartitionner l’arbre en sous-arbres
•Distribuer les sous-arbres dans différents
records et pages
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
16
8
L’algorithme « Tree Growth »
La cinématique
ŒLocalisation de r
Trouver
le record r
Pas de place dans la page
Transférer r
dans autre page
non
oui
OK
Trouver
le séparateur
non
OK
oui
Distribuer les
partitions dans
les records
• Split de r
Insérer le
séparateur dans
le record père
ŽInsertion dans r
Insérer le
nouveau noeud
Bases de Données Avancées CNAM - Valeur C
2 Avril 2002
17
L’algorithme « Tree Growth »
ŒLocalisation de r
f1
r1
r2
f2
p1
r3
h1
f3
p2
fn
fn
fn
h2
f4
f5
è Fonction de la matrice « Spilt Matrix »
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
18
9
L’algorithme « Tree Growth »
•Split de r
Trouver le séparateur
S
f1
L
R
f2
f6
f3
f4
f5
f 11
f 10
f7
f8
f 12
f 13
f 14
f9
d
Bases de Données Avancées CNAM - Valeur C
2 Avril 2002
19
L’algorithme « Tree Growth »
ŽSplit de r (suite)
S
R parent
f1
p1
p4
f6
p2
L
f2
f3
p3
R
f5
h1
f4
f7
f8
R1
2 Avril 2002
Distribuer les partitions
Insérer le séparateur
R2
h2
f 10
f 11
f9
f 12
f 13
R3
f 14
R4
Bases de Données Avancées CNAM - Valeur C
20
10
L’algorithme « Tree Growth »
Les paramètres de configuration
n
Gestion de l’espace
– Split target : ratio déterminant la taille des partitions
½ è Partition L = Partition R
– Split tolerance : taille minimum d’un sous-arbre
n
Distribution des données
– Split Matrix : matrice S permettant de définir le comportement
entre un nœ ud x de type i fils d’un nœ ud y de type j
Sij = 0
è
Sij = ∞
è
Sij = other è
2 Avril 2002
x n’est jamais clusterisé avec y et est toujours gardé
comme standalone
x est gardé le plus possible dans le même record que y
l’algorithme décide
Bases de Données Avancées CNAM - Valeur C
21
Conclusion
n Le
Stockage XML selon NATIX
– Solution native
– Basé sur la sémantique du document
– Permet la mise à jour fragmentaire
– Flexible grâce au paramétrage
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
22
11
Les principales références
n Les
acteurs actuels
– Oracle 9i (Oracle), Adaptive SE (Sybase),
SQL Server (MS), UDB (IBM)
– Tamino (Software AG), Information Server (Excelon), …
n Les
Domaines d’application
– Xylème (NATIX) è DataWarehouse XLM
– Forem (Tamino) è Emploi & Formation
– Ouest France (Oracle) è Journal on Line
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
23
Les principales références
(Suite)
n L’URLgraphie
– [Natix]
–
–
–
–
–
–
http://pi3.informatik.uni-mannheim.de/
publications/xmlvldb99.ps
[Tamino] http://www.softwareag.com/tamino/
[Excelon] http://www.exceloncorp.com/
[UDB]
http://www-3.ibm.com/software/
data/db2/extenders/xmlext/
[Oracle 9i] http://www.oracle.com/ip/deploy/
database/oracle9i/
[Xyleme] http://www.xyleme.com
[W3C]
http://www.w3c.org
2 Avril 2002
Bases de Données Avancées CNAM - Valeur C
24
12