|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mars 2005 Messages : 33 ![]() |
Hello tout le monde
J'ai une application contenant une structure fortement arborscente d'objets. Cette structure est dynamique (eg. en cours d'exécution de nouveaux noeuds peuvent apparaitre, d'autres disparaitres). A un moment donné, je souhaite sauvegarder physiquement la structure ainsi que les données présentes dans les noeuds. Plus tard, je souhaite restaurer la structure et données Comme moyen de sauvegarde, j'ai le choix entre fichier XML et base de données. Que me conseillez vous stp en terme de : - rapidité à l'exécution - facilité à programmer - flexibilité au changement de spec Merci d avance pour les reponses Bon we Ludo |
|
|
00
|
|
|
#2 | |
![]() ![]() bruno pagèsDéveloppeur informatique Inscription : juin 2005 Messages : 2 970 ![]() |
Hello,
Citation:
XML est un moyen d'échange (très coûteux) entre parties ne se connaissant pas : ne pas utiliser pour échanger des données entre des softs d'on on a la maîtrise. XML n'est certainement pas un moyen de sauvegarde. XML est très lent à lire, et totalement incompatible avec des modifications de spec. Donc surtout ne pas faire comme plusieurs soft utilisant XML (ou XMI
|
|
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : juin 2006 Messages : 6 929 ![]() |
J'ai bossé récécemment sur quelque chose du genre (sauf que la bonne blague étant que l'arbre n'était pas vraiment un arbre (ce qui avait été écrit dans le cahier des charges), mais pouvait finalement être un graphe).
La méthode était (grosso modo) de stocker les arêtes du graphe dans une base de donnée, par exemple : En terme de rapidité, si le SGBD est loin, la reconstruction de l'arbre peut être assez lente (il est nécessaire de faire au minimum n requêtes si l'arbre contient n sommets). 0.1 seconde par requête avec 1000 sommets = 100 secondes d'attente pour la construction (j'utilisais personnelement une base DB2 qui se trouvait pas tout prêt et c'était dans cette ordre d'idée) La construction n'est pas trivial (quoique, si tu es sûr que les données sont sous forme d'un vrai arbre, c'est plus simple). Si l'arbre peut être très profond, celà peut poser des problèmes pour la construction (j'avais une profondeur maximum de 20, je pouvais me permettre de faire des appels récursifs sans me soucier d'un dépassement de pile). Et niveau, spec, bah, tant que ça reste un arbre/graphe, il est toujours possible d'ajouter des éléments (un label sur l'arc), ou sur les sommets (nécessite la création d'un autre table).
__________________
Je ne répondrai à aucune question technique en privé |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : décembre 2004 Messages : 1 306 ![]() |
Citation:
![]() Quant aux modification de specs, je ne sais pas ce que ca veut dire, mais si vous parlez de modifier un schema XML, par définition c'est tout aussi difficile que de modifier un schéma de BDD.
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS] Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
|
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 36 ![]() |
je pense que le format xml est utile pour stocker un objet contenant des collections , etc....bref ayant une "profondeur".
Cela peut etre un bon moyen de sérialiser l'état d'un objet autre que dans un format binaire comme le propose certains serveur d'applications de plus la recupération xml permet un parsing efficace pour un affichage web directe... C'est sympa pour la creation d'un report et la transformation en fichier... une base sql n'est pas adaptée au model objet quoi qu'on en dise je vous passe les jointure en cascade et la pose d'index et nanana .... d'ailleur quand j'ai un objet je dois passer par un mapping objet / relationnel pour le sauver belle connerie de middleware.... bref le xml comme le sql , c'est bien mais pas top
__________________
Donne à coder à Toto ,tu le nourris 1 jour. Apprends le à coder , tu le pourris toute 1 vie. |
|
|
00
|
|
|
#6 | ||
![]() ![]() Inscription : juin 2006 Messages : 6 929 ![]() |
Citation:
Citation:
Mais attention, on est pas obligé d'avoir des objets persistants avec un mapping objet/relationnel.
__________________
Je ne répondrai à aucune question technique en privé |
||
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : juin 2004 Messages : 965 ![]() |
Bien sur, de la meme maniere que les langages objets qu'on a a dispo actuellement ne sont pas pleinement objet et ne permettent pas d'implementer tous les precepts objets... mais en attendant d'avoir plus performant les SGBDR sont ce qu'il y a de mieux, de plus rapide et de plus accessible passe une certaine taille de donnees. Sinon t'as toujours la possibilite de te tourner vers une base objet comme db4o qui marque un peu le debut des bases objets.
Je suis bien d'accord mais en attendant on fait avec |
|
|
00
|
|
|
#8 | |||
![]() ![]() erwan Développeur Web Inscription : novembre 2003 Messages : 4 980 ![]() |
Citation:
Citation:
Si on fait du transactionnel la différence d'accès sur un sgbdr et un fichier XML "moyen" en asp (pas le .net, le vieux clous) la différence d'accès est invisible pour l'utilisateur. De même d'ailleurs que pour certaines requêtes on preferait , pour un pb de temps de réponses, extraire des fichiers à plats et les parser, on peut faire de même avec des fichiers XML (notamment multiples jointures externes) Citation:
Comme pour un SGBDR tout ce pose au niveau de la pertinence de la structure choisie, des outils d'extraction/rendu choisis et de leur corespondance avec le but recherché
__________________
modérateur/rédacteur XML Je ne reponds pas aux questions par MP Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
|
|||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mars 2005 Messages : 33 ![]() |
Merci pour vos réponses. Je ne pensais pas que cette question allait succité un bon débat.
Si j'ai le temps, je vais essayer les deux. J'avais une préférence pour le XML car la structure hiérachique d'un fichier XML est proche de celle de ma structure arborescence. Donc, la sauvegarde et la restauration est facilité. Je vais quant meme essayer la solution base de données et comparer. Je vais essayer la solution proposée par le chapitre 4 de http://xml-persistence.prefetch.com/...ersistence.pdf Encore merci Ludo |
|
|
00
|
|
|
#10 |
![]() ![]() erwan Développeur Web Inscription : novembre 2003 Messages : 4 980 ![]() |
Pour les données de type documentaires, article, contrat etc...
il existent 2 variantes incluant XML (qui code tres bien ce type de format) - stockage de XML dans une base de donnée relationnelle , sachant que les leaders du marché donnent des outils de recherche comme XQuery ou via le SQL(oracle me semble fournir les deux,ms sql et db2 ont au moins xquery je crois) -stockage dans des base de donnée xml native, elles sont de plus en plus utilisé pour l'archivage de documentation
__________________
modérateur/rédacteur XML Je ne reponds pas aux questions par MP Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
|
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Inscription : décembre 2004 Messages : 1 306 ![]() |
Citation:
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS] Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com