4

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

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

我也对 CloudWatch 感到困惑。这个怎么理解?

有人可以帮我吗?请不要将我指向文档。

谢谢。

4

1 回答 1

4

我会尽力帮助解决混乱。

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

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

  1. DynamoDB 回答ProvisionedThroughputExceededException
  2. DynamoDB 通知 CloudWatch

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

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

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

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

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

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

于 2012-11-19T15:06:58.643 回答