我们正在构建一个使用Rails CMS进行管理的移动应用程序。

我们的应用程序是什么样的?

该应用程序的每个管理员用户都可以设置一个 private 渠道,并使用非常少量的数据-
大约50个短弦。

然后,用户可以下载该应用程序并注册几个不同的频道,并将数据从服务器获取到他们的设备。数据将存储在本地,除非管理员用户会更新数据,否则将不会再次获取数据(但我们假设它不会经常发生)。每个通道最多可用于500个设备。

用户可以为频道做出贡献,但是该数据将存储在S3上,而不是数据库中。

2个重点:

  • 大多数频道将启用5个月,而不是500个用户使用+-。 但大多数 Activity 将在同一天进行。
  • 每个频道都是针对少量用户的(500),但我们希望:)能够吸引数百个管理员用户。

  • 使用rails构建CMS,我们看到使用SimpleDB比使用DynamoDB更困难。但是,由于我们不是服务器专家,因此我们看到了SimpleDB的局限性,我们不知道SimpleDB是否可以处理我们将拥有的数据传输量(如果我们的应用程序成功了)。另一个重要的一点是,DynamoDb的成本要高得多,并且与使用无关,而SimpleDb在一开始的价格会便宜得多。

    问题是:
  • simpleDB是否可以满足我们的需求?
  • 如果我们的服务将来会增长,我们可以稍后迁移到dynamoDB吗?
  • 最佳答案

    从一个新项目开始,并不真正知道从使用中得到什么,我会说更好的选择是与SimpleDB一起使用。听起来您的使用率不会很高,但SimpleDB应该能够解决这一问题。当您确实有很多负载时,dynamoDB的真正功能就会发挥作用。您似乎不属于该类别。

    如果您正确地设计应用程序,并且在某个时候确定SimlpeDB无法正常工作,那么在SimpleDB和DynamoDB之间进行切换应该是一个简单的任务。我一直在使用软件中的其他组件进行此类切换。由于两个数据库都是NoSQL,因此在两个数据库之间进行转换不会有问题。只需确保您在SimpleDB中使用的所有功能都在DynamoDB中可用即可。确保为两个数据库设计您的数据库设计DynamoDB使用索引来满足更严格的要求,以确保两者兼容。

    话虽如此。很多人一直在为他们的应用程序使用SimpleDB,除非您的产品真正起飞,否则我不希望您看到任何性能问题,此时您可以投入资源来迁移到DynamoDB。

    除了您已提到的价格外,我们还有其他所有价格。对于您的用例,SimpleDB是显而易见的解决方案。

    关于ruby-on-rails-3.1 - Amazon SimpleDB或DynamoDB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9746702/

    10-12 05:00