如何计算DynamoDB的读取容量单位和写入容量单位

pav*_*thi 26 amazon-dynamodb

如何使用以下数据计算RCU和WCU:读取吞吐量为32 GB/s,写入吞吐量为16 GB/s.

Joh*_*ein 67

DynamoDB Provisioned Throughput基于一定大小的单位和正在编写的项目数:

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

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

因此,在确定您需要的容量时,你需要知道有多少项目要读取和每秒写入和大小的物品.

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

还有一些适用的DynamoDB限制,但可以根据要求更改:

  • 美国东部(弗吉尼亚北部)地区:
    • 每表 - 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秒 - 这就是传输一秒数据!

结论:您的数据要求非常高.你确定它们是现实的吗?

  • @OldGeezer请参阅[DynamoDB免费层使用说明](https://acloud.guru/forums/aws-certified-developer-associate/discussion/-KvFDbwj7qK8yoPmJaWe/Clarification%20on%20DynamoDB%20Free%20Tier%20Usage)。以后,请开始一个新问题,而不要通过评论旧问题来提问。 (3认同)
  • 这是非常直观的,这是一个课堂问题,我想这不现实 (2认同)

sha*_*thy 7

如果单击您的dynamodb表的capacity tab,则在Estimated cost旁边有一个容量计算器链接.您可以使用它来确定读取和写入容量单位以及估计的成本.

读取容量单位取决于您需要的读取类型(强烈一致/最终一致),项目大小和所需的吞吐量.

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

用于计算项目大小,您可以参考以及下面是计算器的屏幕截图 在此输入图像描述