13.07.2013 Views

Requêtes OLAP sur une base de données XML native - Cercle ...

Requêtes OLAP sur une base de données XML native - Cercle ...

Requêtes OLAP sur une base de données XML native - Cercle ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.2 Types <strong>de</strong> <strong>base</strong>s <strong>de</strong> <strong>données</strong> <strong>XML</strong> 42<br />

XPath, XQuery et SQL/<strong>XML</strong>. Enfin, ces systèmes offrent un support <strong>de</strong>s méta-<strong>données</strong>, bien<br />

souvent à l’ai<strong>de</strong> d’<strong>XML</strong> Schéma.<br />

De par leur ancienneté et leur fiabilité, les <strong>base</strong>s <strong>de</strong> <strong>données</strong> relationnelles sont <strong>une</strong> bonne<br />

solution pour gérer <strong>de</strong>s <strong>données</strong> <strong>XML</strong> mais sont malheureusement conceptuellement inadaptées<br />

à l’<strong>XML</strong>. En effet, un document <strong>XML</strong> représente un arbre et n’est pas nécessairement aussi bien<br />

structuré qu’<strong>une</strong> table relationnelle. De plus, la mise en lambeau <strong>de</strong>s documents <strong>XML</strong> conduit<br />

souvent à <strong>une</strong> perte <strong>de</strong> performance et à <strong>une</strong> difficulté d’écriture <strong>de</strong>s requêtes <strong>de</strong> par la structure<br />

relationnelle complexe qu’elle implique.<br />

5.2.2 Bases <strong>de</strong> <strong>données</strong> objet<br />

A la fin <strong>de</strong>s années 80, <strong>une</strong> nouvelle forme <strong>de</strong> système <strong>de</strong> gestion <strong>de</strong> <strong>base</strong> <strong>de</strong> <strong>données</strong> a été<br />

introduite <strong>sur</strong> le marché. Il s’agit <strong>de</strong>s SGDBOO, les Systèmes <strong>de</strong> Gestion <strong>de</strong> Base <strong>de</strong> Données<br />

Orientées-Objet. Ces systèmes gèrent les <strong>données</strong> comme <strong>de</strong>s objets, plutôt que comme <strong>de</strong>s<br />

tables, <strong>de</strong>s lignes ou <strong>de</strong>s colonnes. En effet, il est plus naturel <strong>de</strong> représenter le mon<strong>de</strong> réel<br />

comme <strong>une</strong> collection d’objets, chacun ayant un état et <strong>de</strong>s comportements spécifiques. De plus,<br />

les langages <strong>de</strong> programmations orientés-objet commençant à être à la mo<strong>de</strong> à cette époque, les<br />

développeurs voulaient pouvoir stocker <strong>de</strong> manière persistante leurs objets, ce que les SGDBOO<br />

permettent <strong>de</strong> faire assez proprement.<br />

Malheureusement, les SGDBOO souffrent <strong>de</strong> ne pas avoir un langage <strong>de</strong> requête commun<br />

et standardisé, comme l’est SQL pour les SGBDR. La communauté existante autour <strong>de</strong>s <strong>base</strong>s<br />

<strong>de</strong> <strong>données</strong> orientées-objet a donc décidé d’adapter SQL. Le résultat en est OQL, un langage<br />

permettant uniquement <strong>de</strong> chercher et <strong>de</strong> récupérer <strong>de</strong>s <strong>données</strong>, mais pas <strong>de</strong> les mettre à jour.<br />

Ce type <strong>de</strong> <strong>base</strong> <strong>de</strong> <strong>données</strong> aurait pu être très intéressant pour notre étu<strong>de</strong> car on peut<br />

considérer un document <strong>XML</strong> comme <strong>une</strong> collection hiérarchisée d’objets. En effet, chaque nœud<br />

d’un document <strong>XML</strong> a <strong>une</strong> i<strong>de</strong>ntité unique, comme les objets et un objet peut en inclure d’autres.<br />

Malheureusement, l’ODMG, le groupe <strong>de</strong> gestion <strong>de</strong>s <strong>base</strong>s <strong>de</strong> <strong>données</strong> objets, n’a jamais publié<br />

<strong>de</strong> version permettant <strong>de</strong> gérer l’<strong>XML</strong>. Seul un groupe <strong>de</strong> chercheurs a créé un tel système, <strong>de</strong>venu<br />

libre par la suite, Ozone, qui, selon eux, est totalement compatible avec le DOM du W3C. Il n’y<br />

a donc pas <strong>sur</strong> le marché <strong>de</strong>s SGBDOO commerciaux <strong>de</strong> produit qui intègre un support explicite<br />

du <strong>XML</strong>, au sens d’Ozone. Une <strong>de</strong>s raisons est probablement qu’aucun SGBDOO n’a réussi à<br />

percer parmi les géants comme Microsoft et Oracle, sociétés qui ont intégré <strong>une</strong> gestion partielle<br />

<strong>de</strong>s objets dans leurs systèmes relationnels.<br />

5.2.3 Bases <strong>de</strong> <strong>données</strong> <strong>XML</strong> <strong>native</strong>s<br />

Depuis quelques années, on voit apparaître <strong>sur</strong> le marché <strong>de</strong>s systèmes s’auto-décrivant<br />

comme <strong>de</strong>s <strong>base</strong>s <strong>de</strong> <strong>données</strong> <strong>XML</strong> <strong>native</strong>s. Ces systèmes supportent le document <strong>XML</strong> comme<br />

unité fondamentale <strong>de</strong> stockage, implémentent <strong>de</strong>s langages étudiés pour traiter du <strong>XML</strong> comme<br />

XQuery et stockent les document <strong>XML</strong> suivant un modèle propre, compatible avec <strong>XML</strong>. Le<br />

chapitre suivant est entièrement consacré à ce nouveau type <strong>de</strong> <strong>base</strong> <strong>de</strong> <strong>données</strong>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!