2011-11-15 5 views
1

Voici ma cas d'utilisation. J'ai quelques données, que je stocke maintenant dans les fichiers XML. Les données que je stocke ne sont pas persistantes, c'est-à-dire que je supprimerais les données utilisateur une fois que l'utilisateur se sera déconnecté. Stocker des données dans XML ou MongoDB

  • Mon serveur communique avec le client en utilisant les demandes et les réponses XML. Nous avons donc d'abord décidé, étant donné que nous envoyons le XML en tant que réponse, de le stocker en XML afin que la conversion de la base de données au format XML soit enregistrée.
  • Le client demandera XML en fonction de certaines conditions de filtre. Donc je vais devoir utiliser XQUERY.
  • Un maximum de 100 entrées seront présentes dans un fichier XML, au moins dès maintenant. Maintenant, je voudrais savoir si je devrais utiliser XML ou MongoDB. Mes préoccupations:

    1. Quelle est pour stocker des données temporaires dans MongoDB et supprimer/prendre de sauvegarde une fois fait avec la session?
    2. Conversion du format MongoDB json en XML.
    3. Gestion des modifications dans la conception de schéma.

    Je ne peux utiliser aucun autre DB que MongoDB, car certaines opérations persistantes sont encore effectuées sur MongoDB.

    Merci d'avance.

  • +0

    Si votre volume est suffisamment bas pour que vous envisagiez même un stockage basé sur les fichiers, MongoDB gérera facilement le stockage XML et la gestion de l'espace de façon appropriée. À mon humble avis, stocker des fichiers XML pour une solution Web demande des problèmes sur la route. Utilisez un magasin de données approprié. La plupart des bases de données peuvent gérer le stockage des données XML. Utilisez celui qui correspond le mieux à votre environnement. –

    Répondre

    1

    Il est fort probable que vous utilisiez MongoDB pour gérer vos données de session. Il ne devrait pas y avoir de problème dans la création et la suppression d'objets en fonction du démarrage de la session ou de la fin de la session. Vous profiterez de la haute performance MongoDB qui vous donnera l'évolutivité nécessaire pour grandir avec le temps. En fonction de la langue de votre choix (j'utilise C#), vous pourriez avoir la possibilité de sérialiser Json dans un objet sans aucune pénalité de performance. Le pilote C# par exemple, gère la sérialisation pour vous, donc chaque objet que vous récupérez de Mongo sera automatiquement représenté comme un objet C#. De la même manière, vous pouvez remplir votre objet C# et le stocker dans la base de données, le tout géré par le pilote.

    Si vous gérez vos données via des objets à sérialiser/désérialiser vers et depuis mongodb, vous pouvez également sérialiser/désérialiser en XML. Donc les mêmes objets que vous utilisez pour Mongo peuvent être utilisés pour gérer votre xml.

    Donc, pour répondre à vos questions:

    1. Quelle est pour stocker des données temporaires dans MongoDB et supprimer/prendre de sauvegarde une fois fait avec la session? Devrait être aussi approprié que n'importe quelle autre base de données. Certainement mieux que de stocker des données dans des fichiers XML sur le serveur.

    2. Conversion du format MongoDB json en XML. En fonction de votre pilote mongodb, vous pouvez utiliser des objets et sérialiser/désérialiser mongodb et xml en même temps, ce qui rend très facile la conversion de xml en mongodb.

    3. Gestion des modifications dans la conception de schéma. Mongo est sans schéma car il utilise des documents au lieu de tables. MongoDB gère tout changement dans la structure du document car il n'y a pas de schéma similaire dans une base de données relationnelle.

    J'espère que cela a du sens.

    Questions connexes