Amazon SimpleDB или DynamoDB - PullRequest
       19

Amazon SimpleDB или DynamoDB

3 голосов
/ 17 марта 2012

Мы создаем мобильное приложение с CMS на основе направляющих.

Как выглядит наше приложение?

Каждый пользователь-администратор приложения может установить его.частный канал с очень небольшим объемом данных - около 50 коротких строк.

Пользователи могут загрузить приложение, зарегистрировать несколько различных каналов и загрузить данные с сервера на свои устройства.Данные будут храниться локально и не будут выбираться снова, если только пользователь-администратор не обновит данные (но мы предполагаем, что это случится не так часто).Каждый канал будет доступен не более чем 500 устройствам.

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

2 важных момента:

  1. Большинство каналов будут активны в течение 5 месяцев, а не для 500 пользователей + -. Но большая часть активности будет происходить в одну и ту же пару дней.
  2. Каждый канал предназначен для небольшого количества пользователей (500) Но мы надеемся :) добраться до сотен тысяч администраторовпользователи.

При создании CMS с рельсами мы увидели, что использование SimpleDB более прямолинейно, чем использование DynamoDB.Но, поскольку мы не являемся экспертами по серверам, мы увидели ограничения SimpleDB и не знаем, сможет ли SimpleDB обработать объем передачи данных, который у нас будет (если наше приложение будет успешным).Другой важный момент заключается в том, что стоимость DynamoDb намного выше и не зависит от использования, тогда как SimpleDb будет намного дешевле в начале.

Вопрос:

  1. Может ли simpleDB удовлетворить наши потребности?
  2. Можем ли мы перейти позже на DynamoDB, если наш сервис будет расти в будущем?

1 Ответ

3 голосов
/ 17 марта 2012

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

Если вы правильно проектируете свое приложение, переключение между SimpleDB и DynamoDB должно быть простой задачей, если в какой-то момент вы решите, что SimlpeDB не работает. Я делаю такие переключатели все время с другими компонентами в моем программном обеспечении. Поскольку обе базы данных являются NoSQL, у вас не должно возникнуть проблем при конвертации между ними. Просто убедитесь, что любые функции, которые вы используете в SimpleDB, доступны в DynamoDB. Убедитесь, что дизайн вашей базы данных для обоих DynamoDB предъявляет более строгие требования, с помощью индексов убедитесь, что они будут совместимы.

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

Помимо всего, что у нас есть цены, как вы уже упоминали. SimpleDB - очевидное решение для вашего варианта использования.

...