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 :

[Debutant] Stocker mes données en XML ou BDD ?


Sujet :

XQUERY/SGBD XML

  1. #1
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut [Debutant] Stocker mes données en XML ou BDD ?
    Bonjour,

    j'ai bien parcouru le forum pour trouver la réponse à ma question mais j'ai rien trouvé de suffisamment pertinent.

    Voilà, je suis en train de réaliser une Application MonoPoste en Java. Le projet est simple, c'est une Base de données de plantes et les fonctionnalités sont Ajout, Modification, Suppression de plantes et Recherches de plantes.

    Au départ, je pensais utiliser un SGBD, ça me parraissait logique mais après quelques recherches, je me demande si c'est aussi interessant car même si c'est une bonne solution, faire tourner un SGBD (MySQL en l'occurence) sur chaque machine n'est il pas trop lourd ? surtout que je n'ai, en gros, qu'une table...

    Je me suis donc renseignée sur XML et les possibilités de l'utiliser à la place. je ne sais pas si c'est adapté mais, en gros,j'aurais à stocker moins de 500 plantes dans cette "base", donc, peut être qu'XML serait moins lourd que MySQL dans ce cas ?
    d'un point de vue structure, XML m'offre aussi des avantages.

    Sinon, Quels sont les outils que je pourrais utiliser pour faire des recherches dans mon fichier XML ? SAX, DOM ? Autre chose ?
    POur l'ajout,modif, suppression, il suffit de faire de la lecture/ecriture de fichier ???

    Merci à tous de votre aide,

  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
    est ce qu'il y a plusieurs acces ecriture en meme temps?
    si oui base de donnée(c'est un de ces interets majeurs)
    si non,avec le dom tes fichiers xml sont tout a fait valables

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    vu que c'est une application Monoposte, il n'y aura qu'un accès ecriture à la fois...sinon, c'est clair que je ne l'envisageais même pas...

    donc, en terme de traitement, de temps d'accès de reponse et d'utilisation memoire, XML te parait + adapté ?

  4. #4
    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
    + ou -
    par contre il va te falloir code tout les ajouts/suppression a la main,mais ca me parait - lourd que de devoir installer une base la gerer,crreer les tables et les schemas.
    Normalement une simple appli asp/php/java()rayer les mentions inutiles),pourra tout faire

  5. #5
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    le code ne me pose pas de problèmes, même si c'est parfois saoulant, ce qui m'importe, c'est le resultat utilisateur : Rapidité, performance

  6. #6
    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
    moi je travaille via une base de donnee oracle sur du xml e j'ai deja des gain de temps(je rapatrie un gros fichier xml au lieu de faire plusieur interrogations sur la base),et j'ai deja un gain de temps donc au niveau perf je pense que oui elle doivent etre assez superieurs

  7. #7
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    trés bien, merci de ces conseils, je vais peut être essayer ça..

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Corrigez moi si je me trompe:

    Browser un fichier XML est donc plus rapide qu'une BDD???

    Bon je pose aussi un peu mon probleme car en ce moment je suis en cours d'hesitation entre une BDD MySQL ou un fichier XML...
    La base sare multiacces et peut etre multi-ecriture avec une quantite considerable de donnees... Je vois surtout un avantage a l'XML, c'est sa flexibilite, dont j'aurais tres surement besoin...

    Ce que je souhaiterais donc savoir c'est s'il est plus avantageux en terme de temps d'avoir un fichier XML plutot qu'une BDD???

    Y'aurait il des etudes qui auraient ete realisees a ce sujet???

    Merci de votre aide...

  9. #9
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Mais qu'est-ce que vous avez tous à comparer BDD et xml, je vois pas ce que ça a de similaire...
    Xml pour moi c'est un moyen d'extraction de ma bdd, mais ça me viendrait JAMAIS à l'idée de me taper des fichiers xml dans le vent, sans BDD derrière, pour un truc important (pour un tout petit site, je dis pas, mais ce n'est pas ce dont tu parles...)
    Remarque c'est peut-être parce que j'utilise XMLRAD et qu'il machouille un peu le travail...
    Tu fais une bonne BDD, hop le xml récup les données, hop tu formates ta feuille xsl et le tour est joué (heu bon des fois c'est galère mais faut pas le dire ;-) )
    C'est quoi l'intérêt de faire des fichiers xml à la main, à ce moment-là du php c'est pareil, non?
    Pis une base de données, c'est flexible si c'est bien conçu, c'est Codd qui l'a dit
    Il existe 10 catégories de gens.
    Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  10. #10
    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 EJ
    C'est quoi l'intérêt de faire des fichiers xml à la main, à ce moment-là du php c'est pareil, non?
    a la main
    dis au derniel nouvel quand tu entre des donnees dans une bdd tu le fais par une interface(sql direct en dernier recours non ).Ben tu fais exactement le meme chose avec xml via les processeur

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    A ce jour, XML est vu comme etant "a file-based database". D'ou la comparaison necessaire entre les deux...

    J'explique plus en detail mon soucis.

    Je travaille avec des donnees genealogiques dont les entrees principales peuvent etre prevues: "nom", "prenom"... Certaines ne sont pas previsibles comme par exemple: "nom du chien du voisin"...

    Une base de donnees, aussi bien concue qu'elle puisse l'etre (et je m'y connais), ne peut admettre une telle flexibilite sans accroitre le nombre de tables, de ref et donc le temps serveur car requetes croisees (les JOIN, UNION sont couteux en tps)...

    L'avantage, a premiere vue, de l'XML c'est la flexibilite et donc l'inclusion du "nom du chien du voisin" comme champ sans pour autant modification de la structure globale de la BDD...

    Mais la question reste la meme: Quelle est la meilleure economie de temps? Celle des requetes croisees dans un SGBDR ou bien le browsing d'un fichier XML flexible???

    Si vous voulez savoir d'ou je sors cette question: je suis chercheur en informatique!!!

  12. #12
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Erwy
    a la main
    dis au derniel nouvel quand tu entre des donnees dans une bdd tu le fais par une interface(sql direct en dernier recours non ).Ben tu fais exactement le meme chose avec xml via les processeur
    Ouais daccord, mais bon ce que je voulais dire c'est qu'au niveau de la modif, derrière, c'est un peu chaud quand même, non? Perso j'ai toujours une BDD derrière mes fichiers xml... C'est idiot de le faire systématiquement?

    Citation Envoyé par danael
    Une base de donnees, aussi bien concue qu'elle puisse l'etre (et je m'y connais), ne peut admettre une telle flexibilite sans accroitre le nombre de tables, de ref et donc le temps serveur car requetes croisees (les JOIN, UNION sont couteux en tps)...
    Hey je disais ça pour rire... ;-)
    Il existe 10 catégories de gens.
    Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  13. #13
    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 EJ
    Citation Envoyé par Erwy
    a la main
    dis au derniel nouvel quand tu entre des donnees dans une bdd tu le fais par une interface(sql direct en dernier recours non ).Ben tu fais exactement le meme chose avec xml via les processeur
    Ouais daccord, mais bon ce que je voulais dire c'est qu'au niveau de la modif, derrière, c'est un peu chaud quand même, non?
    c'est surtout une question d'habitude,utiliser le dom ou un xslt pour modifier est certes un peu plus complexe qu'une simple requete sql mais aussi plus puissant
    Citation Envoyé par EJ
    Perso j'ai toujours une BDD derrière mes fichiers xml... C'est idiot de le faire systématiquement?
    ben je crois que tu reponds deja a ta question ,parce que faire systematiquement ca c'est se farcir 2* plus de boulot dans certains cas

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    En fait, a force de lire de nombreux forums, je me rend petit a petit compte que les BDD ont pour elles:
    - Multi-acces
    - Multi-ecriture

    Alors que comme nous le savons tous, les fichiers XML dependent directement de l'OS sous lequel ils sont hostes, en clair en acces simple et ecriture simple...

    Malgre la flexibilite de l'XML, l'avantage des BDD reste encore considerable au niveau des requetes croisees. Ce que je n'avais pas pris en compte precedement c'est que, a mon sens, et corrigez moi si je me trompe, faire des JOIN et UNION sur une BDD est plus simple cote programmeur qu'imbriquer des boucles "foreach" en XML...

    Comme vous le disiez precedement, et je vous rejoins donc sur ce point, il n'y a pas de "meilleure" maniere de stoker les informations mais tout depend de leur utilisation. Il faut parfois savoir sacrifier un peu de flexibilite au profit de l'accessibilite, et vice versa...

    Si vous souhaitez reagir a mes propos, je serais heureux de continuer la discussion... J'attends de nombreux avis pertinents de programmeurs uses a l'XML et si possible au BDD (rq je le suis deja...)

  15. #15
    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 danael
    Malgre la flexibilite de l'XML, l'avantage des BDD reste encore considerable au niveau des requetes croisees. Ce que je n'avais pas pris en compte precedement c'est que, a mon sens, et corrigez moi si je me trompe, faire des JOIN et UNION sur une BDD est plus simple cote programmeur qu'imbriquer des boucles "foreach" en XML...
    pour moi l'avantage est surtout le multi acces en ecriture.
    Pour ce qui est des for-each en boucle,ben ca depend de ta programmation
    mais la structure en arbre offre suivant la nature des donnees des avantages considerables.J'ai deja creer des fichier xml(meme si la creation de ces fichiers donnaient des xslt TRES complexe )parce que l'information que je voulais recuperer etait trop complexe a obtenir en sql
    .En effet dans ma constitution je faissais des tris,ordonnancement et structure pere/fils qui n'existe pas dans une table

  16. #16
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Erwy
    ben je crois que tu reponds deja a ta question ,parce que faire systematiquement ca c'est se farcir 2* plus de boulot dans certains cas
    ....
    Bon je sors...
    Nan mais sérieux, moi je fais pas plus de boulot, j'ai la BDD, je fais faire 1 ou 2 requêtes à XMLRAD et le tour est joué... Ca me parait plus simple que d'aller trifouiller dans COM (en plus je connais rien en COM, juste de nom)
    Ce qui me parait très craignos avec le xml simple c'est cette histoire d'écriture, je veux dire un site web accessible pour tous mais où y'en a qu'un qui peut écrire à la fois, c'est vite limité à de très rare cas, non?
    Pour moi XML/XSL c'est avant tout une organistion dynamique et conviviale de ma BDD, mais je dissocierai pas...
    /me sent qu'elle va finir par se faire descendre, à rabâcher la même chose...
    Il existe 10 catégories de gens.
    Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Pour ce qui est des for-each en boucle,ben ca depend de ta programmation
    Ouais ok je suis encore un peu novice en XML... Je ne suis pas encore arrive aux structures en arbres (rooooh t'es long a la lecture zut!!! )

    Un site mono-acces mono-ecriture reste encore rare de nos jours (possible???)...

  18. #18
    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
    ca depend dans quel domaine.
    Si tu te contente de faire de l'informatif,par exemple un journal,un site de tutoriel etc..... je pense que xml est beaucoup + adapte,tu n'as pas de maintenance de base a faire,et c'est tout de meme un systeme de fichier + efficace et + maintenable que des pages html.Genralement dans ces cas la il n'y a qu'un seul redacteur.Enfin quand je dis redacteur je pense "entree pour inserer les donnees".C'est un systeme centralise.
    un ami m'a dit qu'il commencait a y avoir des bases de donnees strictement xml,donc ca resoudra le pb non

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    un ami m'a dit qu'il commencait a y avoir des bases de donnees strictement xml,donc ca resoudra le pb non
    hmmmm interessant... Je vais creuser...
    Dans mon cas, la BDD doit se comporter comme une BDD normale (multi-acces, Multi-ecriture, Multi-Admin...)

    Je creuse, je creuse...

    Merci de l'info et de l'aide

  20. #20
    EJ
    EJ est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Points : 49
    Points
    49
    Par défaut
    Ok Erwy, j'avais pas pensé à des cas comme ça... Mais alors c'est pas une application client serveur quoi
    Quand aux BDD XML, tu sais où en entendre parler sérieusement? Je veux dire, pas les gens qui disent pas "Ouais mon pote m'a dit"
    Il existe 10 catégories de gens.
    Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

Discussions similaires

  1. Comment stocker mes données?
    Par nesswaw dans le forum Accès aux données
    Réponses: 5
    Dernier message: 20/05/2013, 14h44
  2. Comment stocker mes données coté serveur ?
    Par formentor dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 19/12/2006, 12h23
  3. Quel systeme pour stocker mes données
    Par /* jerome */ dans le forum Bases de données
    Réponses: 13
    Dernier message: 09/08/2006, 12h07
  4. Meilleur méthode pour stocker mes données
    Par cyberlewis dans le forum Windows
    Réponses: 6
    Dernier message: 03/07/2004, 11h53
  5. Stocker mes données
    Par Le Fou dans le forum C++Builder
    Réponses: 23
    Dernier message: 05/07/2002, 15h02

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