提问者:小点点

Amazon DynamoDB预配吞吐量(iOSSDK)


我是DynamoDB的新手。我对预配的吞吐量非常困惑。我正在创建一个iPhone游戏,用户可以在游戏中聊天。我有一个聊天表。聊天表包含GameID、UserID和消息。如何找到项目的大小来计算吞吐量。项目的大小完全取决于消息权?如何计算项目的大小?

Amazon告诉我们,我们可以使用UpdateTableAPI或从控制台手动修改吞吐量。如果我想从代码中更改它,我如何知道某个表的预置吞吐量已超过?如何从代码中检查?

我也对CloudWatch感到困惑。如何理解这一点?

有人能帮我吗?请不要给我留档。

谢谢。


共1个答案

匿名用户

我会尽我所能帮助解决困惑。

  • DynamoDB是一个键:值数据库
  • CloudWatch是亚马逊的产品监控工具
  • 预配吞吐量大致是您计划每秒读/写KB项数

每当您超过预配的吞吐量时,

  1. DynamoDB使用ProvisionedFluputExceededException
  2. 回答
  3. DynamoDB通知CloudWatch

Cloudwatch所做的基本上是记录和聚合数据点。对于大多数应用程序,它只会在每个连续的5分钟内跟踪聚合数据。

然后,您可以访问这些数据进行“手动”监控或设置“警报”。几周前,关于使用警报进行DynamoDB自动缩放的SO,有一个非常有趣的问题。您可能有兴趣阅读它:http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/ErrorHandling.html

了解了这一点,您就可以开始构建您的应用程序了。

对于每个DynamoDB服务,都需要凭据才能访问它。即使它们可以被限制在特定的表或一组操作中,将它们捆绑在应用程序中也是非常危险的。你会给任何不受信任的人MySQL或MongoDB或凭据,甚至只读吗?

我可以建议您构建您的应用程序以依赖您自己的服务器吗?该服务器由您信任和构建,您可以安全地在那里执行任何授权检查并授予它对您的表的完全访问权限。

我希望这能有所帮助。请随意要求更多的精度。