读取DynamoDB中的吞吐量

时间:2015-01-28 18:40:44

标签: amazon-dynamodb

好的,所以我对读取单位的理解是每件物品需要1个读取单位,除非该项目超过4KB,在这种情况下读取单位=天花板(项目大小/ 4)。

但是,当我提交扫描要求80个项目(预配置吞吐量为100)时,响应会返回2.5或3个读取单位的ConsumedCapacity。这令人沮丧,因为97%的配置硬件未被使用。知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

80件商品的尺寸是多少?查看此处的文档:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html

  

您可以使用DynamoDB中的查询和扫描操作进行检索   单个请求中表中的多个连续项。同   在这些操作中,DynamoDB使用已处理的累积大小   用于计算预配置吞吐量的项目。例如,如果是查询   操作检索100个每个1 KB的项目,即读取容量   计算不是(100×4 KB)= 100个读取容量单位,就好像那些   使用GetItem或BatchGetItem单独检索项目。   相反,总数将只有25个读取容量单位((100 * 1024)   bytes)= 100 KB,然后除以4 KB)。

因此,如果您的商品很小,那就可以解释为什么Scan不会消耗尽可能多的容量。另外,注意Scan最终使用一致的读取,这会消耗一半的读取容量单位。