Mongodb с коротким жизненным циклом - PullRequest
2 голосов
/ 20 марта 2012

Мы запускаем mongodb для хранения огромного количества объектов (~ 1 000 000 в день) с коротким сроком службы (~ 15 минут). Общее использование виртуальной памяти (== db) составляет ~ 50 ГБ в день. Текущий рабочий процесс выглядит так:

  1. Хранить объект
  2. Удалить старые объекты каждые 15 минут
  3. Запустить восстановление в ночное время - сервер зависает на ~ 20 минут во время восстановления.

Подскажите, пожалуйста, подходит ли монго для недолговечных объектов. Если да - какие настройки конфигурации мы должны изменить против конфигурации по умолчанию. Если нет - какое nosql (основанное на документе, поскольку мы храним JSON-подобные объекты) решение следует использовать.

Спасибо

1 Ответ

3 голосов
/ 20 марта 2012

A ограниченная коллекция может быть хорошим выбором для этого использования, если вы можете оценить размер хорошо.Вы создаете ограниченную коллекцию явно, а не неявно, как вы делаете с обычными коллекциями, и вы указываете максимальный размер.Когда новые документы добавляются в ограниченную коллекцию, старые удаляются автоматически.Использование пространства постоянно, удаления неявны, и в конце дня нечего восстанавливать.Недостатком было бы, если бы ваши потребности в размере на самом деле росли, потому что вам нужно было бы создавать новые (большие) ограниченные коллекции, чтобы поддерживать тот же срок жизни документов.1005 *https://jira.mongodb.org/browse/SERVER-211).Эта функция отсутствует в любой поставляемой версии, но может быть именно тем, что вам нужно, что делает техническое обслуживание автоматическим.Вы можете «посмотреть» эту функцию и проголосовать за нее на странице, на которую я ссылаюсь, но она запланирована на следующий выпуск.

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