Хранение данных в XML или MongoDB - PullRequest
1 голос
/ 15 ноября 2011

Вот мой вариант использования.

  1. У меня есть некоторые данные, которые я сейчас храню в файлах xml. Данные, которые я храню, не являются постоянными, т.е. я буду удалять пользовательские данные после выхода пользователя из системы.
  2. Мой сервер связывается с клиентом, используя XML-запросы и ответы. Итак, изначально мы решили, так как мы отправляем XML как ответ, давайте сохраним его в XML, чтобы сэкономить время преобразования из базы данных в формат XML.
  3. Клиент будет запрашивать XML на основе некоторых условий фильтрации. Поэтому мне придется использовать XQUERY.
  4. В XML будет максимум 100 записей, по крайней мере, на данный момент.

Теперь я хотел бы услышать несколько советов о том, использовать ли мне XML или MongoDB. Мои проблемы:

  1. Насколько хорошо хранить временные данные в MongoDB и удалять / делать резервные копии после завершения сеанса?
  2. Преобразование из формата MongoDB json в XML.
  3. Обработка изменений в дизайне схемы.

Я не могу использовать любую другую БД, кроме MongoDB, так как некоторые постоянные операции все еще выполняются в MongoDB.

Заранее спасибо.

1 Ответ

1 голос
/ 16 ноября 2011

Скорее всего, вам лучше использовать MongoDB для обработки ваших данных сеанса.Не должно быть никаких проблем при создании и удалении объектов на основе начала или окончания сеанса.Вы будете использовать преимущества высокопроизводительной MongoDB, которая даст вам возможность масштабирования с течением времени.

В зависимости от вашего языка (я использую C #), вы можете получить возможность сериализовать Json в объект безлюбое снижение производительности.Например, драйвер C # обрабатывает сериализацию за вас, поэтому каждый объект, который вы извлекаете из Mongo, будет автоматически представлен как объект C #.Таким же образом вы можете заполнить свой объект C # и сохранить его в базе данных, все это обрабатывается драйвером.

Если вы управляете своими данными через объекты для сериализации / десериализации в / из mongodb, вы можете фактически сериализовать / десериализоватьв XML, а также.Таким образом, те же самые объекты, которые вы используете для Mongo, могут использоваться для управления вашим XML.

Итак, чтобы ответить на ваши вопросы:

  1. Насколько хорошо хранить временные данные?данные в MongoDB и удалить / взять резервную копию после завершения сеанса? Должно быть таким же подходящим, как и любая другая база данных.Определенно лучше, чем хранить данные в XML-файлах на сервере.

  2. Преобразование из формата MongoDB json в XML. В зависимости от вашего драйвера mongodb, вы можете использовать объекты и сериализовать / десериализовать в mongodb и xml одновременно, делаяпреобразование из xml в mongodb туда и обратно очень просто.

  3. Обработка изменений в дизайне схемы. Mongo не требует схем, поскольку использует таблицы вместо таблиц,Любое изменение в структуре документа будет обрабатываться mongoDB, так как нет схемы, как в реляционной базе данных.

Надеюсь, в этом есть какой-то смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...