Я пытаюсь сохранить результаты моих приложений в базе данных монго. Для этого есть некоторые проблемы: сначала мы генерируем много данных, потому что это файлы необработанных изображений, до 50 МБ на запись и 5 записей в секунду на полной скорости, что в худшем случае, хотя и не типично. Это не проблема с использованием gridFS. В mongod.cfg мы используем directoryPerDB: true и создаем символическую ссылку для папки базы данных результатов на выделенный SSD, где хранится вся база данных результатов. Все данные настроек хранятся в нескольких разных базах данных на диске ОС, а в данных результатов имеется выделенный диск. Все это отлично подходит для нашего приложения.Возможно ли собрать Cap GridFS?
Моя проблема заключается в заполнении диска результатов. Мне нужно иметь ограниченную коллекцию с максимальным размером, а затем удалить только самые старые файлы. Но я не вижу способа сделать это с помощью gridFS? Есть ли настройка или что-то, что мне не хватает, что позволило бы укутать это?
Я нашел этот ответ GridFS disk management, но это похоже на mongod, и я не думаю, что вы можете установить квоту на базу данных, поскольку база данных Results - единственная, что мне нужно ограничить.
На этом этапе я предполагаю, что напишу задачу, которая периодически очищает самые старые файлы, если сумма превышает пороговое значение, я просто боюсь, что это не будет очень эффективным. Есть ли рекомендации по наилучшему способу справиться с этим?
Спасибо за ваши ответы, вы сделали это очень ясно. Я думаю, что лучший вариант для меня будет последним, который вы предложили, чтобы сделать специальный экземпляр. В качестве последующего вопроса, используя этот метод с -quota и --quotafiles, является поведение, которое заменит самые старые записи новыми вставками? – trashrobber
Нет, это просто ограничит размер, доступный экземпляру. В любом случае вам придется реализовать логику очистки. Поэтому я предложил реализовать его в любом случае. –
Хорошо, я понимаю. Еще раз спасибо! – trashrobber