Я даю пользователям возможность прикреплять изображения, видео, аудиоклипы и другие файловые вложения внутри существующего веб-приложения. Некоторые установки нашего продукта имеют тысячи пользователей, поэтому объем данных будет очень большим.
Amazon S3 — очевидное решение, но по юридическим причинам его нельзя использовать всегда. Мне нужно решение, которое мои клиенты смогут разместить сами.
Поэтому я хочу создать или внедрить систему хранения файлов со следующими характеристиками:
- Не размещается. Должен быть установлен на серверах Windows моих клиентов.
- Горизонтальное масштабирование до терабайт хранилища.
- Работа аналогична S3, так что я могу сделать оба подхода частью своего продукта.
- Проверенная архитектура
Я видел несколько предложений по этому поводу на StackOverflow и других форумах (Eucalyptus Walrus, Hadoop HDFS, MongoDB + GridFS, CouchDB, MogileFS), но не смог найти достаточно информации, чтобы идентифицировать одно из них как простое и проверенное.
У меня есть опыт работы с CouchDB, и я бы воспользовался им, если бы был уверен, что он справится с терабайтами видеофайлов, но я не нашел хорошей истории успеха, на которую можно было бы опереться.