Экспорт из SimpleDB в Монго? - PullRequest
1 голос
/ 03 мая 2011

Достаточно ли просто перейти от SimpleDB к MongoDB?Есть что-нибудь, что я должен остерегаться?Есть ли ограничения?

Ответы [ 2 ]

0 голосов
/ 13 мая 2011

Джонни, Гейт попал во все основные моменты, я просто добавляю некоторые актуальные темы, которые, надеюсь, помогут вам быстрее решить, хотите вы этого или нет:

  • Вы используете SimpleDBпотому что вы не хотите быть администратором сервера, восстанавливать потерянный сервер, запускать резервные копии, обеспечивать работу конфигураций Master / Slave и или покупать дополнительное оборудование для запуска БД.
  • Если вы используете Mongo, вы 'Я должен сделать все это (если вы не пойдете по маршруту MongoHQ ), но гибкость выигрыша и потенциально скорость ... здесь есть большое "это зависит".
  • SimpleDB имеет очень простую (только для строк) модель хранения и запросов;если ваши данные / сценарий использования просты, он подходит.
  • SimpleDB удивительно хорошо масштабируется по горизонтали (тысячи запросов одновременно), но по вертикали он довольно медленный.Поэтому, если вы планируете, чтобы несколько пользователей запрашивали bejesus из вашего хранилища данных, подумайте о другом;поездки туда и обратно в SimpleDB будут складываться.Но если вы пытаетесь создать следующий твиттер и вам нужно обслуживать сотни / тысячи пользователей по горизонтали, SimpleDB обеспечит одинаковую производительность для всех подключений независимо от этого.
  • Горизонтальное масштабирование с Mongo очень надежно ...но это также означает, что он может быть сложным (за пределами Master / Slave, что довольно просто).Наборы реплик и арбитры должны войти в ваш словарный запас ... подумайте, хотите ли вы этого.
  • Модель запросов Mongo настолько близка к SQL, насколько вы собираетесь получить с хранилищем данных NoSQL;он очень богат.
  • Монго любит быть единственным сервисом на аппаратном обеспечении;если вы можете бросить мощное оборудование в Mongo, оно будет работать как мечта.
  • Если вы используете mongo, вам НУЖНО запустить как минимум два экземпляра на разных машинах.Если вы этого не сделаете, он будет работать нормально, пока не будет ... и тогда ваш мир растает.Если вы ДЕЛАЕТЕ это, и сервер рухнет, другой заменит вас автоматически.

Так что я думаю, если бы мне пришлось суммировать все это:

  • Используйте SimpleDB, если вы не хотите входить в игру администратора сервера и не возражаете против более простой модели запросов.
  • Используйте MongoDB, если вы не против быть внимательным администратором с хорошими привычками и / илинужны сложные возможности запросов.

Надеюсь, это поможет.

0 голосов
/ 03 мая 2011

Я думаю, они оба хранилища документов.

So SimpleDB - это размещенное хранилище данных с API REST / SOAP для манипулирования данными. MongoDB - это механизм хранения данных, который вы запускаете на своем собственном оборудовании, он использует серию команд BSON для манипулирования данными, но большинство пользователей используют один из поддерживаемых драйверов .

Вещи, которые будут отличаться:

  • Конфигурация (вам понадобятся серверы)
  • Техническое обслуживание
  • Код клиента: вам нужно работать с драйвером, ваши запросы, вероятно, отличаются
  • Индексы
  • Paging
  • Возможно структуры данных (различные инструменты запросов)
  • Карта / Уменьшение (сделано в Javascript с MongoDB)

Вещи, которые будут одинаковыми:

  • Данные: они оба являются хранилищами документов и должны иметь возможность обрабатывать одни и те же базовые данные

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

Все это говорит о том, что я настоятельно рекомендую вам протестировать MongoDB, поскольку вы можете обнаружить, что он обеспечивает экономическую выгоду по сравнению с SimpleDB.

...