Хранение изображений большого размера

Я, вероятно, буду участвовать в проекте, где важным компонентом является хранилище для большого количества файлов (в данном случае изображений, но оно должно действовать как хранилище файлов).

Ожидается, что количество входящих файлов составит около 500, Ожидается, что общее количество файлов достигнет десятков миллионов до достижения равновесия, когда срок хранения файлов истекает по разным причинам при скорости ввода.

Итак, мне нужна система, которая может хранить около 5 файлов в секунду в часы пик при чтении около 4 и в любой момент удалить 4.

Моя первоначальная идея состоит в том, что на самом деле должно быть достаточно простой файловой системы NTFS с простой службой для хранения, истечения срока действия и чтения. Я мог представить себе службу, создающую подпапки для каждого года, месяца, дня и часа, чтобы сохранить минимальное количество файлов в папке и разрешить истечение срока действия вручную в случае необходимости.

Было разработано большое решение NTFS. обсуждали здесь , но я все же мог бы воспользоваться некоторыми советами о том, какие проблемы ожидать при создании хранилища с указанными спецификациями, какие проблемы с обслуживанием ожидать и какие альтернативы существуют. Я бы предпочел избегать распределенного хранилища, если это возможно и практично.

редактировать

Спасибо за все комментарии и предложения. Еще немного дополнительной информации о проекте:

Это не веб-приложение, где изображения предоставляются конечными пользователями. Не раскрывая слишком много информации, так как это находится на стадии контракта, это больше относится к категории контроля качества. Подумайте о производственном предприятии с конвейерной лентой и датчиками. Это не традиционный контроль качества, так как ценность продукта полностью зависит от бесперебойной работы базы данных изображений и метаданных.

Изображения доступны на 99% автономным приложением в порядке «первым пришел - первым обслужен», но произвольный доступ со стороны пользователя приложение также будет происходить. Изображения старше одного дня в основном служат архивным целям. хотя эта цель также очень важна.

Истечение срока действия изображений подчиняется сложным правилам по разным причинам, но в какой-то момент все изображения должны быть удалены. Правила удаления следуют бизнес-логике, зависящей от метаданных и взаимодействий с пользователем.

Каждый день будет простой, когда можно будет выполнять техническое обслуживание.

Предпочтительно, чтобы файловому хранилищу не приходилось сообщать местоположение изображения обратно на сервер метаданных. Местоположение изображения должно однозначно вычитаться из метаданных, возможно, через базу данных сопоставления, если выбрана какая-то хэширующая или распределенная система.

Итак, мои вопросы:

  • Какие технологии будут выполнять надежную работу?
  • Какие технологии будут иметь самые низкие затраты на внедрение?
  • Какие технологии проще всего обслуживать клиенту? s IT-отдел?
  • Какие риски существуют для данной технологии в этом масштабе (данные 5–20 ТБ, 10–100 миллионов файлов)?

11
задан Community 23 May 2017 в 12:23
поделиться