Назад | Перейти на главную страницу

Какую облачную технологию лучше всего использовать для серверов баз данных MongoDB / GridFS

Мы собираемся запустить сервис, который потребует от 1 до 2 ГБ для хранения файлов на каждого платного пользователя. Я собираюсь использовать GridFS для хранения файлов. GridFS - это модуль для MongoDB, который позволяет хранить большие файлы в базе данных.

Я обдумываю различные варианты хранения базы данных.

Но поскольку у меня нет опыта развертывания и я впервые работаю с Mongodb, мне нужен ваш опыт.

Критерии:

Пока я знал об этих услугах:

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

MongoHQ: максимальный объем хранилища для большего плана составляет 20 ГБ. Похоже, для GridFS очень мало хранилища.

MongoMachine: фиксированная цена, 2,5 доллара за ГБ. Я не нашел предела. Похоже, хорошая цена по сравнению с другими.

MongoLab: максимум 3,984 ГБ, я не думаю, что удастся его использовать, так что отлично. 8 $ за ГБ, довольно дорого.

CloudControl: Более крупный план - 20 Гб. Индивидуальная услуга начинается с 250 евро плюс некоторая неуказанная плата за ГБ.

Какой у вас опыт работы с этими услугами? Есть простои? Другие возможности?

Изменить: добавлено значение GridFS

Я думаю, вы неправильно прочитали спецификации MongoLab. Оно имеет дефолт примерно 3,9 ГБ - не максимум 3984 ГБ! Это десятичный знак США, а не разделитель тысяч (почему американцы настаивают на этом?). Максимальный размер для большого плана - 20 ГБ;)

Обновить:
Я просто посмотрел еще немного на сайт MongoHQ и нашел интересное обсуждение на их сайте поддержки парень задает тот же вопрос. Их ответ был:

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

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

Если ваши данные еще не такого размера, возможно, имеет смысл начать с общих планов, а по мере вашего роста изучать специальные планы.

http://support.mongohq.com/kb/plans/mongohq-dedicated-plans

Я действительно изо всех сил пытаюсь ответить на этот вопрос как есть, поэтому я собираюсь ответить на него так, как я его интерпретирую.

«Какую технологию лучше всего использовать для серверов баз данных MongoDB / GridFS»

Я бы, вероятно, начал с пары узлов хранения, скажем, 4 дисков SAS по 300 ГБ (или 600 ГБ) каждый, хорошего быстрого хранилища, связав их в массиве RAID 10 (или, возможно, RAID 6) для хорошей избыточности и скорости. Убедитесь, что у вас есть приличная карта RAID с BBWC (кэш записи с батарейным питанием). Убедитесь, что у вас есть нормальная сеть между узлами, чтобы вы могли получить приличную скорость записи по сети.

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

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

Кроме того, если вы разработчик, я предлагаю вам нанять / получить системного администратора по контракту / на некоторое время, пока вы создадите / настроите и запустит инфраструктуру. Особенно, если вы хотите сконцентрироваться на построении бизнеса.

Он должен уметь масштабироваться. Облачный стиль. Плати как сможешь.

В этом мало смысла. Масштабируемость - это одно. Облако - это модное маркетинговое слово, PAYG, ну, это полностью зависит от вашей биллинговой платформы.

Чем ниже цена, тем лучше

Снизить цену для вас или ваших клиентов? В системной инженерии есть старая поговорка: «Дешево, хорошо или быстро; выберите два». Возможно, вы сможете создать систему, которая будет дешевой для вас, но будет доставлять удовольствие вашим клиентам, и они уйдут в массовом порядке. Остерегайтесь этого, тем более, что у вас есть конкуренция, люди могут голосовать ногами.