考虑以下情况:
我有一个表,其读写容量都设置为100.假设该表有10000个条目,每个条目为0.5KB。
有了这个,我可以读取每条4KB的100条记录,每秒写100条1KB的记录。
来自AWS文档
您可以使用“查询和扫描”操作来检索多个 单个请求中表或索引的连续项。同 在这些操作中,DynamoDB使用已处理的累积大小 用于计算预配置吞吐量的项目。例如,如果是查询 操作检索100个每个1 KB的项目,即读取容量 计算不是(100×4 KB)= 100个读取容量单位,就好像那些 已使用GetItem或BatchGetItem单独检索项目。 相反,总数将只有25个读取容量单位,如图所示 以下:
(100 * 1024字节= 100 KB)/ 4 KB = 25个读取容量单位
我想发出一个查询(使用未指定的哈希键和范围键),它将检索1000项。 因此返回记录的累积大小为1000 * 0.5KB = 500KB。
问题:
读取吞吐量应该是500/4 = 125吗? <100>或100(或80左右)足够因为查询不会在一秒内完成
如何确定此(查询)案例的吞吐量?
谢谢..
答案 0 :(得分:1)
运行查询或扫描时,将根据扫描或查询的数据大小而不是记录数来使用读取。如果使用强一致性读取查询500KB,则将消耗125个读取容量单位。
有一个选项ReturnConsumedCapacity
可以将消耗的读取容量与您的数据一起返回。