IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XQUERY/SGBD XML Discussion :

Base de donnée ou XML, jusqu'au où on peut aller?


Sujet :

XQUERY/SGBD XML

  1. #1
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut Base de donnée ou XML, jusqu'au où on peut aller?
    Bonjour,

    Je souhaite développer une application de gestion des oiseaux (sympa non ?) et les informations seront stockés dans un endoit , mais il me viens à l'esprit, que utiliser un fichier XML ou un BD embarqué fera l'affaire, j'ai une tout petite question : jusqu'au où on peut aller en stockage pour le choix entre XML et BD. est ce qu'il a une seuil de nombre d'enregistrement pour passer de xml à une base de donnée.

    Merci
    --
    A+
    ¤-------------------------------------------------------------------
    |لا تبكي يا بُـنية، فإن الله مانع أباك...
    | Trd :"Ne pleure pas ma petite fille, Dieu protége ton père" Le prophet Mohammed.
    | L'effet developpez.com : ->geek
    | It is man's ability to remember that sets us apart. We are the only species concerned with the past. Our memories give us voice. They bear witness to history so that others |might learn. So they might celebrate our triumphs and be warned of our failures.
    ¤-------------------------------------------------------------------

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    je fais des requêtes assez complexe sur un fichier qui fait environ 5 méga pour une appli, les temps de réponse sont excellent.
    XML est vraiment idéal comme format pour tout ce qui est de type "documentaire"
    Dans cette optique (imaginons que tu veuilles une vision "fiche" par oiseau) cela vaut peut être la peine d'aller jusqu'à la base XML voir eXist
    http://exist.sourceforge.net/

  3. #3
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut
    Salut,

    j'ai eu quelque notions sur exit (qui est en fait trés bon en terme de performance ) mais je ne suis pas aller jusqu'àsavoir si elle peut etre intégrer à l'install de l'application; est ce qu'il suffit d'installer l'application et hop on peut enregistrer les données en utilisant eXit ou il faut en plus de l'install de l'appli ,installer eXit.

    merci
    ¤-------------------------------------------------------------------
    |لا تبكي يا بُـنية، فإن الله مانع أباك...
    | Trd :"Ne pleure pas ma petite fille, Dieu protége ton père" Le prophet Mohammed.
    | L'effet developpez.com : ->geek
    | It is man's ability to remember that sets us apart. We are the only species concerned with the past. Our memories give us voice. They bear witness to history so that others |might learn. So they might celebrate our triumphs and be warned of our failures.
    ¤-------------------------------------------------------------------

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par mamiberkof Voir le message
    j'ai eu quelque notions sur exit (qui est en fait trés bon en terme de performance ) mais je ne suis pas aller jusqu'àsavoir si elle peut etre intégrer à l'install de l'application; est ce qu'il suffit d'installer l'application et hop on peut enregistrer les données en utilisant eXit ou il faut en plus de l'install de l'appli ,installer eXit.
    C'est assez évident, si ton application utilise eXist, il faut que eXist soit déployé avec elle... eXist n'est pas qu'une API, c'est un SGBDR XML autonome, et même plus que cela puisqu'avec les possibilités de XQuery il peut aussi servir de serveur d'application dans un environnement Web (il intègre son propre serveur HTTP).

    Concrètement, eXist est une application Java présentée sous forme de fichiers JAR, il est donc assez simple d'automatiser son installation (et son paramétrage automatique) avec celle de ton application.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    Avez vous un lien autre que sourceforge présentant la mise en place et l'utilisation d'exist?
    merci

  6. #6
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Salam o5ty mamiberkof

    Citation Envoyé par mamiberkof Voir le message
    Bonjour,

    Je souhaite développer une application de gestion des oiseaux (sympa non ?) et les informations seront stockés dans un endoit , mais il me viens à l'esprit, que utiliser un fichier XML ou un BD embarqué fera l'affaire, j'ai une tout petite question : jusqu'au où on peut aller en stockage pour le choix entre XML et BD. est ce qu'il a une seuil de nombre d'enregistrement pour passer de xml à une base de donnée.

    Merci
    --
    A+
    Oui, sympa pour un gros minet comme ça ... on t'as à l'oeil quand-même

    Réponse toute perso : j'ai plutôt l'habitude de penser que question base de données, XML est plutôt utile pour l'échange, le transport, la transmission (de tout ou parties : base de donnée toute entière, fragments, arguments, ou résultats de requêtes). Mais pour avoir une base de donnée vraiment efficace, rien de ne vaut un format de fichier conçu pour accélerer les requêtes et les accès. Et souvent, pour une base de données simple ou maison, alors un format de fichier maison et un programme que tu conçois toi même font trés bien l'affaire.

    Maintenant tout dépend de la complexité des structures, de la complexité des requêtes, et surtout des fréquentes variations ou non des requêtes : je veux dire par là que si les requêtes sont statiques, alors elles peuvent êtres programmées, mais que si elles sont succeptible d'être fournies à chaque consultation, alors une application SGBD est effectivement plus commode.

    Au fait... t'es vraiment une Mamie ou c'est juste ton pseudo qui est comme ça ?

    @Erwin: tu dis que les temps de réponse sont exellents sur une base de données XML de 5 MB. Mais sur quel type de machine ? Et pour quel genre de requête ? Parce que si l'application doit re-scanner à chaque requête, ... un trés grand nombre d'instructions sont quand-mêmes executées... Ou alors c'est que ton application gère des caches ou des fichiers de structures indéxées derrière ton dos.... parce que sinon, je ne vois pas trés bien comment.. ou alors c'est ton processeur qui est trés rapide. A moins que le fichier XML ne soit formaté d'une manière particulière ?... quoi que ça n'aurait que peu d'influance pratique, et ça n'aurait de toute façon jamais autant d'effet sur l'efficacité que des structures indéxées. J'avoue que je suis curieux de savoir comment ça marche.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  7. #7
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Dans ce post notamment (mais lire le reste peut aider à la comprehension)
    http://www.developpez.net/forums/sho...72&postcount=8

    Le pourquoi on prefere XML pour format documentaire et eXist est un sgbd
    Citation Envoyé par Hibou57 Voir le message
    @Erwin: tu dis que les temps de réponse sont exellents sur une base de données XML de 5 MB. Mais sur quel type de machine ? Et pour quel genre de requête ? Parce que si l'application doit re-scanner à chaque requête, ... un trés grand nombre d'instructions sont quand-mêmes executées... Ou alors c'est que ton application gère des caches ou des fichiers de structures indéxées derrière ton dos.... parce que sinon, je ne vois pas trés bien comment.. ou alors c'est ton processeur qui est trés rapide. A moins que le fichier XML ne soit formaté d'une manière particulière ?... quoi que ça n'aurait que peu d'influance pratique, et ça n'aurait de toute façon jamais autant d'effet sur l'efficacité que des structures indéxées. J'avoue que je suis curieux de savoir comment ça marche.
    Je comprends pas trop le ses de tes questions ?
    Je travaille sous asp, un langage complètement obsolète, il n'y a que le parseur/processeur XML (msxml) qui est "à jour" mas sans aucun des bonus de .NET.
    La structure "particulière" c'est un simple arbre, doté de 3 noeud de type element une structure bateau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="UTF-8"?>
    <R>
    	<a>
    		<b>..</b>
    		<c>..</c>
    		<a>
    		<a>[etc...]</a>
    			<a>
    				<b>..</b>
    				<c>..</c>
    			</a>
    		</a>
    	</a>
    	<a>
    		<a>[etc...]</a>
    			<a>
    				<b>..</b>
    				<c>..</c>
    			</a>
    		</a>
    		[etc...]
    </R>
    mais cette structure rend impossible certaine requête sur le sgbdr d'ou j'extrait les données d'origine, d'ou la restitution XML.

  8. #8
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par Erwy Voir le message
    Maintenant tout dépend de la complexité des structures, de la complexité des requêtes, et surtout des fréquentes variations ou non des requêtes : je veux dire par là que si les requêtes sont statiques, alors elles peuvent êtres programmées, mais que si elles sont succeptible d'être fournies à chaque consultation, alors une application SGBD est effectivement plus commode.
    je n'ai pas encore eu à le faire mais programmer une interface d'extraction "générique" en xpath est en réalité très simple, du moins avec les techno que je connais


    Dans ce post notamment (mais lire le reste peut aider à la comprehension)
    http://www.developpez.net/forums/sho...72&postcount=8

    Le pourquoi on prefere XML pour format documentaire et eXist est un sgbd


    Je comprends pas trop le ses de tes questions ?
    Je travaille sous asp, un langage complètement obsolète, il n'y a que le parseur/processeur XML (msxml) qui est "à jour" mas sans aucun des bonus de .NET.
    La structure "particulière" c'est un simple arbre, doté de 3 noeud de type element une structure bateau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="UTF-8"?>
    <R>
    	<a>
    		<b>..</b>
    		<c>..</c>
    		<a>
    		<a>[etc...]</a>
    			<a>
    				<b>..</b>
    				<c>..</c>
    			</a>
    		</a>
    	</a>
    	<a>
    		<a>[etc...]</a>
    			<a>
    				<b>..</b>
    				<c>..</c>
    			</a>
    		</a>
    		[etc...]
    </R>
    mais cette structure rend impossible certaine requête sur le sgbdr d'ou j'extrait les données d'origine, d'ou la restitution XML.

  9. #9
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Erwy Voir le message
    mais cette structure rend impossible certaine requête sur le sgbdr d'ou j'extrait les données d'origine, d'ou la restitution XML.
    Ah, ok...

    Comme le dit le post vers lequel tu fais un lien, la récursivité, ça change tout

    Mais je me demande quand-même : si tu as un fichier XML, et que ce fichier n'est pas trop fréquement mise à jour, est-ce qu'il existe des techniques qui consistent à convertir le fichier XML dans un format qui en accelère l'accés ? Je pense par exemple à une table des noeuds, avec leurs offset dans le fichier (qui serait plutôt un fichier binaire), une table de attribut, etc, etc. Evidement, la source XML standard serait toujours conservée...

    Tu vois ce que je veux dire ?
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Petite parenthèse dans votre discution, mais voici un topic qui me semble bien approprié ! J'ai bien lu vos posts et tutoriaux, et entre bon nombre de lectures sur plusieurs sites, d'avis diverses et contreversés... je ne suis pas encore sûr de la direction à prendre pour mon projet.

    Je boss sur du PHP/SQL, et pour l'instant, je n'y entends pas grand chose au XML -j'arrive tout de même à faire intéragir php/xml sur de simples exemples-

    En fait, il me faut monter un site en plusieurs langues, celui-ci comprenant une BDD Produits (eux-même traduits dans chaque langue), et ce avec une fonction "rechercher".
    D'où mon interrogation : vaut-il mieux utiliser XML ? ou une bdd mysql suffit-elle ?
    Et peut-on rechercher dans un fichier XML aussi facilement qu'en BDD SQL ?

    En fait, aussi, je me pose la question de l'accès à la Base. BDD SQL plus rapide que fichier XML (indépendamment du fait que mySQL peut éventuellement saturer) ?
    Visiblement, on pourrait mettre le fichier xml en mémoire.. ce serait donc un avantage.
    Néanmoins la notion de parser m'échappe encore, du moins l'existance d'un parseur. Est-ce une application installée sur le serveur ?? (et du coup chaque hébergeur a son parseur).. bref je m'enlise peut-être là. Aussi la validation/DTD me laisse encore de marbre..

    Bref, je ne demande pas de code (je chercherai par moi même le cas échéant), mais surtout un avis sur l'orientation à prendre, ainsi que quelques directives.

    Merci bien !

  11. #11
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par yisahn Voir le message

    D'où mon interrogation : vaut-il mieux utiliser XML ? ou une bdd mysql suffit-elle ?
    Et peut-on rechercher dans un fichier XML aussi facilement qu'en BDD SQL ?
    c'est ce que je veux savoir
    Néanmoins la notion de parser m'échappe encore, du moins l'existance d'un parseur. Est-ce une application installée sur le serveur ?? (et du coup chaque hébergeur a son parseur)..
    En quelque sort ,oui , t'es besoin d'une "application" pour parser un fichier XML, sauf que tu trouveras pas de parseur indépendant mais ,intégrés à des API , comme JAXP l'API Java pour parser XML, ou SimpleXML pour PHP5. parser c'est analyser syntaxiquement la structure du fichier en question
    ¤-------------------------------------------------------------------
    |لا تبكي يا بُـنية، فإن الله مانع أباك...
    | Trd :"Ne pleure pas ma petite fille, Dieu protége ton père" Le prophet Mohammed.
    | L'effet developpez.com : ->geek
    | It is man's ability to remember that sets us apart. We are the only species concerned with the past. Our memories give us voice. They bear witness to history so that others |might learn. So they might celebrate our triumphs and be warned of our failures.
    ¤-------------------------------------------------------------------

  12. #12
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,
    Citation Envoyé par yisahn Voir le message
    D'où mon interrogation : vaut-il mieux utiliser XML ? ou une bdd mysql suffit-elle ?
    Il est difficile d'être affirmatif, il faudrait pour cela une analyse complète de ton projet. A priori, MySQL est tout indiqué pour contenir tes articles, mais si une documentation est liée à chacun d'eux, alors XML peut être intéressant... On peut aussi imaginer une solution mixte SGBDR/XML, c'est même un cas de figure assez courant.

    Je ne peux donc te conseiller qu'une chose : réunir le maximum de documentation et d'informations, et expérimenter. Sachant que ce forum est à ta disposition pour t'aider dans tes recherches.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Disons que la BDD contient en gros : références, caractéristiques/dimensions, et désignations en plusieurs langues.

    Je pense opter pour la solution mixte.
    La BDD des produits catalogue en SQL. C'est la fonction de recherche dans cette BDD qui m'a fait me décider, cela me semblerai plus simple à mettre en oeuvre (moi débutant en XML). En même temps, je suis toujours à même de convertir en XML (suivant la complexité du site).
    Puis la navigation du site (plusieurs langues) en XML manière de me faire la main.

    Sinon, je me suis remis à niveau concernant les validations/DTD. En même temps, je "formais" déjà convenablement. Pour le parseur, merci et c'est aussi ok, j'avais quelques lacunes DOM et autres..

    Je ne manquerai pas de repasser par içi.
    Merci pour vos réponses.

Discussions similaires

  1. Base de donnée en XML
    Par faressam dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 14/01/2009, 13h26
  2. [XSLT][Access] Export Base de données vers XML
    Par la.tete.o.carre dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 17/10/2008, 14h07
  3. Bases de données versus XML
    Par reeda dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/09/2008, 16h30
  4. [MySQL] Sauvegarde base de données en XML
    Par Ben42 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/02/2006, 13h37
  5. Réponses: 5
    Dernier message: 07/11/2005, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo