@watsonstudio

Как лучше организовать хранение пользовательских файлов?

Коллеги, приветствую.

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

Файлы будут до 15 Мб, но начальный размер может быть произвольный.
Нагрузка первое время будет небольшой, но необходимо иметь возможность легко масштабировать, желательно без сложной переконфигурации и миграции.
Самих файлов со временем будет достаточно много.

Сейчас рассматриваются в основном 2 решения, это GridFS и распределенная FS (GlusterFS, Ceph)

В случае Монги, есть возможность настроить необходимый уровень репликации, но смущает вопрос с масштабированием (шардирование).
В плане цены для минимального шарда в продакшен нужно как минимум 3 сервера под реплику + 3 общих конфига + сервер под mongos, причем для того чтобы доставить еще один шард, необходимо развернуть еще 2-3 сервера минимум.
Также смущает вопрос производительности, для высоконагруженного проекта я думаю это будет не лучшее решение.

В случае с распределенными FS, ситуация такая, что по отзывам складывается впечатление, что работают они достаточно нестабильно, и серебряной пули нет. К тому же нужен канал от 1Gbit для каждой ноды, если делать распределенное хранилище по нескольким дата центрам, то такое решение может быть очень затратное.

Есть еще вариант решения с использованием СХД, но честно, опыта решения данных проблем аппаратными средствами у меня нет, интересно услышать мнения экспертов.

Собственно, хотелось бы услышать мнения людей, которые решали подобные задачи и выбрать оптимальное решение.
  • Вопрос задан
  • 439 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
только набор серверов c 5-6 RAID

по поводу FS - ответьте сами себе, как часто вы восстанавливали базы (кроме MyISAM) и все проходило с нулевыми потерями, или хотя бы восстаналивалось.

FS годятся для временных решений, типа шарды в эластике не делать, для хранения - нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы