INFRASTRUCTURE
Stockage de contenus XML : base ''native'' ou relationnelle ?
![]() |
Pour exploiter les documents XML, une solution de stockage devient indispensable. Les entreprises vont devoir choisir entre deux catégories de produits, les bases "natives" et les relationnelles compatibles XML, en se basant sur leur existant, les performances et les coûts afin d´opter pour la meilleure solution. |
Conçues pour le XML, les bases natives exploitent pleinement sa richesse. Elles stockent le document dans son intégralité qui peut ainsi servir de preuve légale. Leur modèle de données est calqué sur le schéma qui normalise le balisage des informations et leur arborescence (catégorie, produit, disponibilité en stock, etc.). Il est donc flexible. Ces bases disposent - ou sont en passe de disposer - de langages de requêtes, mécanismes de partition et de synchronisation qui ont fait la force des bases relationnelles.
Le modèle relationnel s´appuie pour sa part sur des tables, des colonnes et des champs. Les informations sont "rangées" dans des "cases". Une fois créée, la structure de données est fixe et très complexe à modifier. Peu adapté au XML, le modèle relationnel évolue afin de concurrencer les bases natives.
Les bases relationnelles adaptent leur structure de données

Globalement, les bases relationnelles proposent deux solutions pour stocker le XML. La première stocke le document en bloc dans le champ d´une table tandis que la seconde extrait l´information du document pour l´éclater dans différentes tables et champs. Ces deux solutions comportent des failles. Si la première préserve l´intégrité du document, elle ne permet pas en revanche de manipuler convenablement les données à l´intérieur du document, ce dernier étant perçu comme un seul bloc. La seconde pour sa part, est un modèle classique du relationnel avec toute sa puissance de manipulation des données, mais elle ne permet pas de conserver le document original intact. En combinant les deux solutions, il est toutefois possible d´obtenir des fonctionnalités équivalentes à celles des bases de données XML natives. "Tout en préservant", comme le souligne Bertrand Audras (photo), ingénieur avant-vente de Sybase, "l´interaction entre les mondes XML et relationnels", argument fort des partisans du relationnel.Ces derniers estiment en effet que la plupart des entreprises disposent déjà de bases relationnelles qui vont cohabiter avec le monde XML. En centralisant les données XML et relationnelles dans une base unique, il est par exemple possible d´intégrer des documents XML en provenance de fournisseurs dans la base, d´exploiter les données ainsi récupérées dans un datawarehouse, puis de ressortir les informations sous forme de nouveaux documents XML pour les envoyer à des clients.
Impact sur les performances, les coûts, l'espace de stockage

La même cohabitation est possible avec une base XML mais en faisant appel à des outils tiers qui transforment les données. Solution choisie par Stéria qui a préféré Tamino dans le cadre d´une application médicale : "Nous avions plusieurs contraintes", explique Dominique Villard (photo), directeur avant-vente de la SSII. "Les documents devaient rester intacts car ils sont signés et peuvent avoir à servir de preuve légale et la structure de données devait rester flexible car elle peut être amenée à évoluer dans le temps. Après des benchmarks, Tamino s´est avéré être une solution plus élégante et performante. Y compris pour échanger des données avec d´autres applications. Il nous a suffit de créer des "moulinettes" de transformation pour adapter les données au format de l´application destinatrice, dont notamment des bases de données relationnelles, et ainsi préserver l´interaction entre les deux mondes. Là où, pour conserver l´intégrité du document et la puissance de manipulation des données en relationnel, il aurait en effet fallu combiner le stockage en bloc et l´éclatement du document. Donc stocker les documents deux fois sous différentes formes".
Outre ce double stockage coûteux, les modes en bloc ou par éclatement ont un impact significatif sur les performances. Le temps nécessaire à la reconstitution ou au parcours du document ralentit les applications. Remarque également valable pour les bases XML, mais uniquement quand elles cohabitent avec le monde relationnel et qu´une transformation des données est nécessaire. Consommateurs de ressources mémoire et CPU, ces mécanismes peuvent être compensés par une plus grande puissance machine. Mais, là encore, la solution est onéreuse. Pour preuve, Oracle vient d´intégrer le stockage natif XML au noyau de sa base relationnelle. Tout en préservant la possibilité d´interroger simultanément - mais en SQL uniquement - un document XML et des données dans des tables. Comme quoi, bloc ou éclatement, la solution était ailleurs pour le leader du marché des bases de données...
Relationnel ou XML, il faudra toujours investir dans une nouvelle base
Les entreprises équipées de bases relationnelles ne feront pas l´économie d´une nouvelle base pour la simple raison qu´elles devront investir dans une nouvelle version qui prenne en compte le XML. Elles pourront en revanche centraliser toutes les données dans une base unique, plus simple à maintenir que deux bases séparées qui nécessiteront en outre des compétences spécifiques.
0.38 %











Publicité











RETOUR EN HAUT DE LA PAGE