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