好的,所以我对读单位的理解是,它每项花费一个读单位,除非项目超过4KB,在这种情况下,读单位=上限(项目大小/4)。
但是,当我提交一个扫描请求80个项(提供的吞吐量为100)时,响应返回一个ConsumedCapacity,即2.5或3个读取单元。这是令人沮丧的,因为97%的配置硬件没有被使用。知道为什么会这样吗?
发布于 2015-01-28 20:50:20
这80件商品的尺寸是多少?查看这里的文档:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html
可以使用DynamoDB中的查询和扫描操作从单个请求中的表中检索多个连续项。对于这些操作,DynamoDB使用处理项的累积大小来计算提供的吞吐量。例如,如果查询操作检索每个1KB的100个项,则读取容量计算不是(100×4KB)=100个读取容量单位,就像使用GetItem或BatchGetItem单独检索这些项一样。相反,总共只有25个读取容量单位( 100 * 1024字节)=100 KB,然后除以4 KB。
因此,如果您的项目是小的,这将解释为什么扫描没有消耗那么多的能力,你会预期。此外,便笺扫描使用最终一致的读取,这消耗了一半的读取容量单位。
https://stackoverflow.com/questions/28199925
复制相似问题