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:
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.
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.
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.
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. –