【问题标题】:How to calculate Read Capacity Unit and Write Capacity Unit for DynamoDB如何计算 DynamoDB 的读取容量单位和写入容量单位
【发布时间】:2017-02-27 20:12:00
【问题描述】:

如何计算 RCU 和 WCU 给定的数据为:读取吞吐量为 32 GB/s,写入吞吐量为 16 GB/s。

【问题讨论】:

  • 你的表中每个item(行)有多大?阅读时,您是使用分区键查询,还是全盘扫描?
  • 只是想计算一个 20 GB 数据表的分区数,以提供 32 GB/s 读取吞吐量和 16 GB/s 写入吞吐量的吞吐量配置,这就是问题所在,所以我对使用给定数据计算 RCU 和 WCU 感到困惑

标签: amazon-dynamodb


【解决方案1】:

DynamoDB Provisioned Throughput 是基于一定的单位大小,以及正在写入的项目数:

在 DynamoDB 中,您可以根据容量单位指定预置吞吐量要求。使用以下准则来确定您的预置吞吐量:

  • 一个读取容量单位表示每秒一次高度一致的读取,或每秒两次最终一致的读取,对于大小不超过 4 KB 的项目。如果您需要读取大于 4 KB 的项目,DynamoDB 将需要消耗额外的读取容量单位。所需的读取容量单位总数取决于项目大小,以及您需要最终一致还是高度一致的读取。
  • 一个写入容量单位表示每秒写入一次,最大为 1 KB 的项目。如果您需要写入大于 1 KB 的项目,DynamoDB 将需要消耗额外的写入容量单位。所需的写入容量单位总数取决于项目大小。

因此,在确定您想要的容量时,您需要知道您希望每秒读取和写入多少items,以及这些items 的size。 p>

您应该寻找给定数量的您希望每秒读取/写入的项目,而不是寻找特定的 GB/s。这是您的应用程序满足操作性能所需的功能。

还有一些DynamoDB limits 可以申请,但可以根据要求更改:

  • 美国东部(弗吉尼亚北部)地区:
  • 每个表 - 40,000 个读取容量单位和 40,000 个写入容量单位
  • 每个帐户 - 80,000 个读取容量单位和 80,000 个写入容量单位
  • 所有其他地区:
  • 每个表 - 10,000 个读取容量单位和 10,000 个写入容量单位
  • 每个帐户 - 20,000 个读取容量单位和 20,000 个写入容量单位

40,000 个读取容量单位 x 4KB x 2(最终一致)= 320MB/s

如果我的计算是正确的,那么您的要求是这个数量的 100 倍,因此 DynamoDB 似乎不适用于如此高的吞吐量。

你的速度是否正确?

接下来的问题是如何每秒生成如此多的数据。全双工 10GFC 光纤以 2550MB/s 的速度运行,因此如果数据进出 AWS 云,您将需要多个光纤连接来传输此类数据。

即使是 10Gb 以太网也只能提供 10Gbit/s,因此传输 32GB 需要 28 秒——也就是传输一秒的数据!

底线:您的数据要求非常高。你确定它们是现实的吗?

【讨论】:

  • 这很直观,这是一个课堂问题,我想这不现实
  • 1 读取容量单位表示每秒仅读取一次最大为 4KB 的项目?对于免费层,它说 25 个读取容量单位,还说“足以每月处理 2 亿个请求”。 25x86400x30≈6500 万。 200M 和 65M 之间的脱节在哪里?
  • @OldGeezer 见Clarification on DynamoDB Free Tier Usage。以后,请开始一个新问题,而不是通过对旧问题的评论来提问。
  • 每秒 20,000 次写入听起来超低。我见过一个 MySQL 的基准,其基准是每秒约 220,000 条 INSERT 语句。
  • 看看一些经典的解决方案架构师问题,正确的答案似乎意味着大小是每秒,但限制是平均的。例如,如果您需要每 10 秒执行 20 次一致性读取,则需要 1 个容量单位。如果您在同一秒内执行所有读取会怎样?
【解决方案2】:

如果您单击 dynamodb 表的容量选项卡,估计成本旁边会出现容量计算器链接。您可以使用它来确定读取和写入容量单位以及估计成本。

读取容量单位取决于您需要的读取类型(高度一致/最终一致)、项目大小和所需的吞吐量。

写入容量单位仅由吞吐量和项目大小决定。

计算物品大小可以参考this,下面是计算器的截图

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 2020-10-06
    • 1970-01-01
    • 2022-09-01
    • 1970-01-01
    相关资源
    最近更新 更多