• [^] # Re: Stockage des données...

    Posté par . En réponse à la dépêche Sortie de Tellico 1.2. Évalué à 3.

    « XML est un format d'échange de données, il peut être utilisé pour exploiter en "temps réel" de petites quantités de données (surtout avec les machines actuelles), mais il n'est pas adapté à remplacer une base de données - surtout lorsque le volume stocké augmente. »

    Tu vas vexer beaucoup de chercheurs en SGBD, là. Il ne faut pas confondre la forme finale d'un document XML, le document « plat », et ce qu'est un document XML, à savoir un arbre ordonné et étiqueté. La forme finale, c'est ton fichier « lisible par un humain » (qui a pris deux-trois aspirines avant de lire le fichier de 3000 balises). Mais la base en elle-même fait exactement comme les autres : elle indexe les documents, les noeuds fils, les noeuds parents ...

    « Mais stocker en XML, dans un fichier 'plat', des données qui peuvent se montrer volumineuses et sur lesquelles on a besoin d'un accès direct: AMA non. »

    Du point de vue d'une BDD, un document XML est un arbre (ou un graphe, si tu utilises les IDREF - mais là t'es déjà bien vicieux ;-) ). Rien n'empêche la base d'avoir cette structure version « binaire » (structure de graphe/d'arbre donc) dans la base, et de ne dumper les fichiers XML que lorsque tu en as besoin. D'ailleurs c'est plus ou moins ce que fait BDB/XML : tu importes tes fichiers dans la base, et il garde le tout chez lui, dans une forme interne qui l'arrange. Ensuite, tu peux faire des requêtes sur la base avec XQuery, et récupérer un document au format XML en sortie.

    En ce moment, beaucoup d'efforts sont fournis pour adapter les optimisations connues des SGBD/R vers les SGBD/XML. L'indexation est particulière, car si dans un SGBD/R on a des types fixes, avec des lignes de table de taille fixes elles aussi, XML est un langage semi-structuré : il faut en tenir compte.