DynamoDB中如何定义一次读取操作?跨分区循环读取是否计为单次读取?
DynamoDB读取操作定义及容量计算相关问题解答
AWS官方说明(中文翻译)
对于预配置模式的表,您需要以读取容量单位(RCU)和写入容量单位(WCU)来指定吞吐量容量:
一个读取容量单位代表每秒1次强一致性读取,或者每秒2次最终一致性读取,针对的是大小不超过4KB的项目。
读取操作的定义
DynamoDB的读取操作计数核心基于API请求类型和返回数据大小:
- 单项目读取API(如
GetItem):每成功获取一个大小≤4KB的项目,就算作一次读取操作;若项目大小超过4KB,会按每4KB分段计算(比如8KB的项目,强一致读取会消耗2个RCU,对应2次读取操作)。 - 多项目读取API(如
Query/Scan):按返回的总数据量(每4KB为一段)结合一致性模式计数。比如一次Query返回3个各3KB的项目,强一致读取下总数据量9KB,会按3个4KB分段算,对应3次读取操作。 - 一致性模式直接影响计数逻辑:强一致读取1次消耗1个RCU,最终一致读取2次消耗1个RCU。
跨分区循环读取的计数规则
是的,每次循环中发起的有效读取请求(无论目标分区是否相同),只要符合上述读取操作定义,都会被算作一次(或对应次数的)读取操作。
比如循环调用GetItem每次读取不同分区的4KB项目:
- 若用强一致读取,每次循环的调用就是1次读取操作,消耗1个RCU;
- 若用最终一致读取,每2次循环的调用消耗1个RCU,单次循环算作0.5个RCU对应的读取操作。
内容的提问来源于stack exchange,提问作者Ellie Lam
相关产品推荐
相关产品推荐

