Простая и масштабируемая нехостинговая альтернатива Amazon S3

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

Amazon S3 — очевидное решение, но по юридическим причинам его нельзя использовать всегда. Мне нужно решение, которое мои клиенты смогут разместить сами.

Поэтому я хочу создать или внедрить систему хранения файлов со следующими характеристиками:

  • Не размещается. Должен быть установлен на серверах Windows моих клиентов.
  • Горизонтальное масштабирование до терабайт хранилища.
  • Работа аналогична S3, так что я могу сделать оба подхода частью своего продукта.
  • Проверенная архитектура

Я видел несколько предложений по этому поводу на StackOverflow и других форумах (Eucalyptus Walrus, Hadoop HDFS, MongoDB + GridFS, CouchDB, MogileFS), но не смог найти достаточно информации, чтобы идентифицировать одно из них как простое и проверенное.

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


person srmark    schedule 12.03.2013    source источник
comment
Какие-либо ограничения операционной системы?   -  person carrier    schedule 16.03.2013
comment
Должен быть установлен на серверах Windows моих клиентов.   -  person srmark    schedule 21.03.2013


Ответы (1)


Ближайший проект с открытым исходным кодом — OpenStack swift (https://github.com/openstack/swift). Он поддерживает RackSpace CloudFiles. Хотя дизайн S3 точно неизвестен, OpenStack создан для обеспечения очень похожей функциональности.
Он масштабируется, не имеет единой точки отказа или узких мест.

person David Gruzman    schedule 12.03.2013
comment
Пока что это кажется наиболее близким к тому, что я ищу. К сожалению, 90% моих клиентов используют только среды Windows, и их невозможно убедить добавить узлы Linux в свою инфраструктуру. - person srmark; 21.03.2013
comment
Может быть, здесь поможет виртуализация? Слой виртуальных машин на каждом хосте Windows сделает эту работу... - person David Gruzman; 21.03.2013