Stockage des données semi-structurées Lapproche S.TO.RE.D (Semi-structured TO RElational Data)

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Création de la base du SI Idée de départ : créer plusieurs couches de données avec chacune un intérêt propre et indépendante. Chaque couche doit pouvoir.
C#3 et le projet Linq Mitsuru FURUTA
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Transformation de documents XML
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Structure des tables de la HDB – Outil de gestion de larchivage Groupe Bases de Données : JM. Rochat – J.Guyot – J.Chinkumo. 26 janvier 2014 Réunion ESRF/Soleil.
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Fonctionnalités des SGBD
Yann Chevaleyre et Jean-Daniel Zucker
Design Pattern MVC En PHP5.
TP 3-4 BD21.
Base de données: Généralité
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les contraintes d’integrité
Développement d’applications web
E.Dot – juillet 2005 Page 1 Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile – Organisation et Structuration.
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Contrôles d'accès aux données
Database B2 2 MIP Paris.
Middleware : XML-DBMS Permet de faire office d’interface entre des données XML et des bases de données relationnelles (insertion et récupération de données)
Administration de SharePoint
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Chap 4 Les bases de données et le modèle relationnel
L’utilisation des bases de données
SYSTEME DE GESTION DE BASES DE DONNEES
Les fichiers indexés (Les B-arbres)
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Universté de la Manouba
Base de données: Généralités IFT6800 – E 2008 Pierre Poulin.
Les concepts et les méthodes des bases de données
Management of Information Technology - e-business
Relation de subsumption entre schémas de types Données semi-structurées et typage de données.
Subsumption for XML Types DEA SIR Signe Carlsen Le 27 Mars 2001.
Initiation aux bases de données et à la programmation événementielle
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Bases de données fédéréEs hétérogènes
Optimisation de requêtes
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sélection de colonnes (la projection)
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Introduction aux Bases de Données et au langage SQL
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction Module 1.
Cours 11 Entrepôts de données
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
De Arnault Chazareix :
Introduction SGDBOO Sommaire Définition d’un SGBD (6 services)
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

Stockage des données semi-structurées Lapproche S.TO.RE.D (Semi-structured TO RElational Data)

PLAN DE LEXPOSE 1.Introduction Les données semi-structurées Ce qui existe déjà 2.Principes de STORED Son architecture Son apport à la communauté 3.STORED en détails Requêtes de stockage Requêtes surcharge Requêtes dextraction et de mise à jour 4.Performances 5.Conclusions

Introduction Les données semi-structurées Les données semi-structurées sont partout. Elles sont très importantes sur le Web. Le développement de XML accentue encore cet état de fait. Données structurées : –Les données contiennent intrinsèquement leurs propres significations et leur structure –Leur structure est importante et évolutive. –La structure est descriptive et non prescriptive : les violations sont autorisées. –Le typage des données nest pas stricte : des objets différents peuvent avoir un attribut de même nom mais de types différents. XML est un langage dexpression pour les données semi-structurées. Il est composé : –dobjets complexes (ensemble dobjets complexes et atomiques) –dobjets atomiques (chaîne, nombre, …) –dattributs

Un exemple XML Peter 4711 Fruitdale Ave. John 5361 Columbia Ave. swimming cycling David 4711 Fruitdale Ave. Mary 4711 Fruitdale Ave. painting

Introduction : Ce qui existe déjà … Outils de manipulation de données semi-structurées : –LOREL : Langage de requête pour données semi-structurées –TSIMMIS : Intégration des données de données non structurées et hétérogènes. –STRUDEL : Gestion de site web avec intégration de données –CARAVEL : Vu en groupe de recherche Problèmes constatés : 1.On ne peut pas utiliser de Systèmes Relationnels de base de données existant pour indexer ces documents XML 2.Ce sont des solutions flexibles et efficaces. Cependant, elles posent un problème de coût despace et de temps de réponse à cause des réplications des données indexées (doublons).

Principes de STORED : Son architecture STORED propose une autre approche. Il propose une technique pour : 1.stocker, interroger, manipuler des données semi-structurées en utilisant une SGBD Relationnelle 2.Permettre le stockage et la manipulation transparente de données XML. 3.Interroger les données stockées Les objectifs sont : 1.Maintenir des performances optimales 2.Lutilisation de Stored doit être sans perte dinformation 3.Lutilisation doit être la plus aisée possible 4.Minimiser loccupation disque 5.Minimiser la fragmentation de la base de données 6.Respecter les contraintes DBMS

Principes de STORED : Son apport à la communauté Les auteurs des STORED ont donc développé : 1.Un langage pour spécifier les « masques » de conversion XML SGBDR, effectuer des requêtes (extraction, recherche et M.A.J.) 2.Un générateur de modèle relationnel et de masques de conversion pour transférer des données XML vers une SGBDR. 3.Un générateur de schéma de surcharge permettant 4.Un algorithme de M.A.J. et dajout de données dans la base SGBDR Ce quil ne permet pas de faire : 1.Les « regular-path » expressions car cela implique la prise en compte de la possibilité de récursivité infinie. 2.Le langage est moins puissant que les autres car les auteurs ont fait des suppositions fortes.

STORED en détails : Requête de stockage (1) Création automatique de lensemble M des masques de conversion XML (informations + arcs) vers le modèle SGBDR à partir dun ensemble de données XML noté D. Recherche dune solution optimale avec les contraintes suivantes : K Nombre maximum de tables A Nombre maximum dattributs par table S Espace maximum pour créer la base de données C Nombre maximum doccurrences avant quun ensemble soit considéré comme grand Supp Paramètre spécifié par ladministrateur de base de données pour optimiser les performances des requêtes Minimisation dune fonction de coût f(M) = c(M) + d(M) c(M) coût en espace des données d(M)= f id (Q M i ) coût dexécution des requêtes prédéfinies Cest un problème NP-Complet. Les auteurs ont donc choisi une méthode heuristique. Génération des requêtes de stockage des données en langage STORED.

STORED en détails : Requête de stockage (2) M4a = FROM Audit.taxpayer : $X { name : $N, addr : $P, OPT{audited : $A}, OPT{taxamount : $T} } WHERE typeOf($P, "string") STORE Taxpr4a($X, $N, $P, $A, $T) M4b = FROM Audit.taxpayer : $X { name : $N, addr : { street $S, OPT{city $C, OPT{zip $Z}}} OPT{audited : $A}, OPT{taxamount : $T} } STORE Taxpr4b($X, $N, $S, $Ap, $C, $Z, $A, $T) Sur-définition possible. Les conditions ne sont pas exclusives. Une données peut correspondre à plusieurs requêtes. UNE SEULE sera choisie. OPT désigne les paramètres optionnels STORE désigne la table relationnelle dans laquelle les donnée seront stockées. Pour les attributs multiples, on a 2 cas : –Petits ensembles (cardinalité T < C) création de T attributs dans la table si possible (paramètre A) –Grands ensembles (cardinalité T C) création dune table relationnelle séparée. Exemple 1 : (nom, …, date mariage[0,2]) table (oid, nom, …, date_marriage1, date_marriage2) Exemple 2 : (nom, …,date visite médecin[*]) table1 (oid, nom, …) table2 (oid, date visite)

STORED en détails : Requête de stockage (3) Audit: &o1 { taxpayer: &o24 {name : &o41 "Gluschko", address : &o34 {street : &105 "Tyuratam", appartment : &o623 "2C" zip : &121 "07099"} audited : &o46 "10/12/63", taxamount : &o }, taxpayer : &o21 {name : &o132 "Kosberg", address : &o25 {street : &427 "Tyuratam", number : & , zip : &121 "92443"} audited : &o46 "11/1/68", audited : &o46 "10/12/77", taxamount : &o283 0, taxevasion : &o632 "likely"} taxpayer : &o20 {name : &o132 "Korolev", address : &o253 "Baikonur, Russia", audited : &o46 "10/12/86", taxamount : &o283 0, taxevasion : &o632 "likely"} company : &o26 {name : &o623 "Rocket Propulsion Inc.", owner : &o24} } Taxpayer1 Taxpayer2 Company Oidnamestreetnoaptzipaudit1audit2taxamounttaxevasion o24 GluschkoTyuratam2C /12/ o21 KosbergTyuratam /1/6810/12/77 0 likely Oidnameadressaudittaxamounttaxevasion o20 KorolevBaykonur10/12/86 0 likely Oidnameowner o26 Rocket Propulsion Inc.o24

STORED en détails : Requête de surcharge (1) Permet après définition de lensemble M (requête de création) de compléter la base de données pour ne pas perdre dinformation. Ce sont, entre autre, des compléments ponctuels qui évitent les champs vides –Exemple ajouter les super gagnants du loto à une base de noms M vérifie les conditions initiale mais en général, ne couvre pas 100% des informations Stockage des arcs de liaisons non encore traités du graphe sous forme de relation ternaires dans des tables relationnelles. Pour les objets complexes, on fait des simplifications de structure. Car souvent, le objets sont « sur-définis » (on utilise * pour des cardinalités [0,2]). Exemple : on transforme les tuples XML (flattern / applanissement) (p|p) en p?, p? (p*)? en p* (p,p)* en p*, p* Noyau : ensemble des masques M. Surcharge

STORED en détails : Requête de surcharge (2) S1=Audit[1] : { taxpayer[0,*] : { name[1], address[1,2], taxreturn[0,*]: { year[1], amount[1], extension[0,1] } M = FROM Audit.taxpayer: $X { name[1]:$N, address[1]:$A, OPT taxreturn[1]: year[1]: $Y, amount[1]: $A, extension[1]: $E} STORE R($X, $N, $A, $Y, $A, $E) O1 = FROM Audit.taxpayer:$X { name:$N, address:$A, $L:_} WHERE $L = address OVERFLOW G1($L)

STORED en détails : Requête dextraction et de M.A.J. But : convertir des requêtes STORED vers des requêtes en SQL pur puis les exécutés. Recherche par élagage : –Détermination des tables relationnelles concernées –Les requêtes SQL sont générées puis optimisées –Exécution de la requête et génération du résultat Pour les « Mise A Jour », si la table perd trop en performance, une ré-organisation (similaire à une requête de création) est effectuée.

Performances : Le protocole de test Données utilisées pour les tests –Provenance :Web site DBLP –DBLP contient des articles, des livres, des thèses, … –La publication de nouvelles données est stochastique. –La structure des documents est irrégulière –Le site contient publications pour un total de 95Mo – arcs / liens 2 tests ont été effectués : –Un en faisant varier le nombre maximum dattributs par table (paramètre A) –Un en faisant varier lespace disponible pour la base (paramètre S)

Performances Influence du paramètre A Rappel : A est le nombre maximum dattribut par table Les paramètres étudiés sont –Requêtes : le nombre de requêtes nécessaires pour extraire les données –Couverture : Pourcentage des liens couverts par la base générée –Espace : Taille estimée de la base –Champs nuls : Champs non remplis par des valeurs –Espace gaspillé : Pourcentage de lespace non efficace On se rend bien compte que lalgorithme est heuristique mais de manière générale : –Quand A est petit : Il faut beaucoup de relation pour extraire les données (jointures). On a une meilleure utilisation de lespace. La tendance sinverse lorsque A augmente. –Quelque soit la valeur de A, la couverture tourne toujours autour de 90%. A Requêtes Couverture % Espace (Mo)1, ,15110,91,2 Champs nuls (Ko) Espace gaspillé (%)1,97,29,712,39,111,716,75

Performances Influence du paramètre S Rappel : S est la taille maximum de la base Les paramètres étudiés sont –Couverture : Pourcentage des liens couvert par la base générée –Champs nuls : Champs non remplis par des valeurs –Espace gaspillé : Pourcentage de lespace non efficace de la base Les résultats sont : –Montre limportance de lespace disque (la contrainte est très forte et limitative) –Lorsque S est petit lalgorithme reste efficace (Espace gaspillé est très faible). –Sélection des informations les plus importantes. –Dans des environnements raisonnables : lalgorithme est efficace (90% couverture) S0,5 Mo0,78 Mo0.93 Mo1.0 Mo Couverture % Champs nuls (Ko)2, Espace gaspillé (%)0,55,1311,410,6

Conclusion STORED a le mérite de proposer un algorithme précis de conversion XML vers un schéma SGBDR. Prise en compte des limitations des SGBDR utilisés (nombre maximum dattributs par table, taille du disque). Pas besoin de DTD pour la conversion. Les algorithmes sont encore à optimiser. Les données XML sont quasi-régulière : seulement quelques éléments sont non réguliers (hors normes).

Bibliographie Lorel : Serge Abiteboul, Dallan Quass, Jason McHugh, Jennifer Widom, and Janet Wiener. The Lorel query language for semistructured data. International Journal on Digital Libraries, 1(1):68-88, April Strudel : Mary Fernandez, Daniela Florescu, Jaewoo Kang, Alon Levy, and Dan Suciu. Catching the boat with Strudel: Experiences with a web-site management system. In Proc. of ACM SIGMOD Conf. on Management of Data, Seattle, WA, Daniela Florescu, Donald Kossmann. A Performance Evaluation of Alternative Mapping Schemes for Storing XML Data in a Relational Database. Research report.