【问题标题】:AWS DynamoDB: read/write units estimation issueAWS DynamoDB:读/写单位估计问题
【发布时间】:2015-07-10 13:51:48
【问题描述】:

我正在创建一个在线人群驱动游戏。我希望读/写请求每秒波动(例如,50,50,50,1500,50,50,50),我需要以强一致性处理所有 100% 的请求。

我计划使用 GAE 数据存储中的 AWS DynamoDB,因为它具有很强的一致性。我有以下疑问,在其他讨论中我无法得到明确的答案。

1.如果写入操作的项目大小仅为 4B,是否会四舍五入为 1KB 并消耗一个写入单元?

2.从财务上讲,将预置吞吐量容量设置在预期峰值附近是不明智的。警报可以警告我们。但是在突然上升的情况下,请求可能会在我们收到警报时受到限制。 DynamoDB 真的设计用于处理高度波动的读/写吗?

3.我阅读了Dynamc DynamoDB 为我们更新读/写吞吐能力,当我们添加一些读/写单元时,分配它们需要多长时间?如果时间太长,涨潮后加条有什么用?

Google 应用引擎仅针对当月发生的请求数计费。如果我可以让 AWS 像“无论请求数量是多少,我都会自行扩展和收缩,并且只向您收取使用的读/写单元的费用”那样工作,我会选择 AWS。

请指教。如果我对某些部分不清楚,请不要犹豫。

谢谢, 卡西克。

【问题讨论】:

    标签: amazon-dynamodb


    【解决方案1】:
    1. 是的。项目大小四舍五入并使用吞吐量。来自Provisioned Throughput in Amazon DynamoDB documentation

      所需的读取操作总数是项目大小,四舍五入到 4 KB 的下一个倍数,再除以 4 KB。

    2. 可以处理一些突发,但它通常用于统一的工作负载。以下是来自Guidelines for Working with Tables documentation 的部分以及有关最佳实践的其他一些有用链接:

      工作负载中的临时不均匀性通常可以通过突增容限来吸收,如谨慎使用突增容量中所述。但是,如果您的应用程序必须定期适应不统一的工作负载,您应该在设计表时考虑到 DynamoDB 的分区行为(请参阅了解分区行为),并在增加和减少该表的预置吞吐量时要小心。

    3. 这将取决于您的表有多少数据,因为如果您要扩大规模,DynamoDB 将不得不重新分区数据。有关分区的更多信息,请参阅Consider Workload Uniformity When Adjusting Provisioned Throughput 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多