Скорее всего, вам лучше использовать MongoDB для обработки ваших данных сеанса.Не должно быть никаких проблем при создании и удалении объектов на основе начала или окончания сеанса.Вы будете использовать преимущества высокопроизводительной MongoDB, которая даст вам возможность масштабирования с течением времени.
В зависимости от вашего языка (я использую C #), вы можете получить возможность сериализовать Json в объект безлюбое снижение производительности.Например, драйвер C # обрабатывает сериализацию за вас, поэтому каждый объект, который вы извлекаете из Mongo, будет автоматически представлен как объект C #.Таким же образом вы можете заполнить свой объект C # и сохранить его в базе данных, все это обрабатывается драйвером.
Если вы управляете своими данными через объекты для сериализации / десериализации в / из mongodb, вы можете фактически сериализовать / десериализоватьв XML, а также.Таким образом, те же самые объекты, которые вы используете для Mongo, могут использоваться для управления вашим XML.
Итак, чтобы ответить на ваши вопросы:
Насколько хорошо хранить временные данные?данные в MongoDB и удалить / взять резервную копию после завершения сеанса? Должно быть таким же подходящим, как и любая другая база данных.Определенно лучше, чем хранить данные в XML-файлах на сервере.
Преобразование из формата MongoDB json в XML. В зависимости от вашего драйвера mongodb, вы можете использовать объекты и сериализовать / десериализовать в mongodb и xml одновременно, делаяпреобразование из xml в mongodb туда и обратно очень просто.
Обработка изменений в дизайне схемы. Mongo не требует схем, поскольку использует таблицы вместо таблиц,Любое изменение в структуре документа будет обрабатываться mongoDB, так как нет схемы, как в реляционной базе данных.
Надеюсь, в этом есть какой-то смысл.