如何使用以下数据计算RCU和WCU:读取吞吐量为32 GB / s,写入吞吐量为16 GB / s。
答案 0 :(得分:52)
DynamoDB Provisioned Throughput基于一定大小的单位和正在撰写的项目数量:
在DynamoDB中,您可以根据容量单位指定预配置的吞吐量要求。使用以下准则确定您的预配置吞吐量:
- 对于最大4 KB的项目,一个读取容量单位表示每秒一次强烈一致的读取,或每秒两次最终一致读取。如果需要读取大于4 KB的项目,DynamoDB将需要消耗额外的读取容量单位。所需的读取容量单位总数取决于项目大小,以及是否需要最终一致或强烈一致的读取。
- 一个写入容量单位表示最大1 KB的项目每秒写入一次。如果需要编写大于1 KB的项目,DynamoDB将需要消耗额外的写入容量单位。所需的写入容量单位总数取决于项目大小。
因此,在确定所需容量时,您需要知道每秒要读取和写入的项的数量,以及这些项的大小。
您应该寻找一定数量的项目,而不是寻求特定的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 :(得分:7)
如果单击您的dynamodb表的capacity tab,则估计成本旁边会有一个容量计算器链接。您可以使用它来确定读取和写入容量单位以及估计的成本。
读取容量单位取决于您需要的读取类型(强烈一致/最终一致),项目大小和您想要的吞吐量。
写入容量单位仅由吞吐量和项目大小决定。
用于计算项目大小,您可以参考this,以下是计算器的屏幕截图