AWS DynamoDB:读/写单元估计问题

时间:2015-07-10 13:51:48

标签: amazon-dynamodb

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

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

1。如果写入操作的项目大小仅为4B,那么是否会舍入为1KB并占用写入单位?

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

3。我读到有关Dynamc DynamoDB以更新我们的读/写吞吐量容量,当我们添加一些读/写单元时,分配它们需要多长时间?如果花费的时间太长,那么在潮汐袭击后使用增加标准是什么?

Google应用引擎仅针对当月发生的请求数量。如果我可以让AWS像以下一样工作,那么无论请求数量是多少,我都会自行扩展和收缩并仅为使用过的读/写单元收取费用#34;我会选择AWS。

请指教。如果我不清楚零件,请不要犹豫。

谢谢, Karthick。

1 个答案:

答案 0 :(得分:2)

  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文档。