DynamoDB Single item与Multiple item存储方案成本效益选型咨询
DynamoDB存储架构方案选型解答
原有分析合理性说明
你对两个方案的优劣势分析基本正确。
疑问解答
- 写入成本的计算规则
DynamoDB写入成本同时和写入操作次数、单次写入数据大小相关:标准写入模式下,1个写入容量单位(WCU)支持每秒写入1条大小不超过1KB的条目,每多写入1条条目,不管大小多少,都要单独统计WCU消耗。即便是用BatchWriteItem接口批量写入4条数据,也会按4条条目分别计算WCU,不会合并为1条统计。 - 容量向上取整规则
你的理解完全正确:DynamoDB读写计费均按条目大小向上取整到最近的1KB整数倍计算。500B的条目按1KB计费,1.5KB的条目按2KB计费,该规则对读写请求通用。
方案选型建议
根据业务访问模式二选一即可:
- 若90%以上的访问场景都是读取完整对象、很少单独查询单个属性,优先选方案1:单次写入仅消耗对应单条item大小的WCU,写入成本比方案2低3/4左右,全量读取场景下读取成本也更低,同时架构更简单易维护。
- 若70%以上的访问都是查询单个属性、很少读取全量对象,优先选方案2:单次读取仅消耗对应单条属性的RCU,长期来看读取成本的下降会覆盖写入成本的上升,整体成本更优。如果还有频繁更新单个属性的场景,方案2的优势会进一步放大,避免方案1中更新单个属性也要消耗整个item对应WCU的浪费。
额外提醒:方案1有DynamoDB单item最大400KB的硬限制,若4个属性总大小超过该阈值无法使用该方案。
内容的提问来源于stack exchange,提问作者Tiago Santos
相关产品推荐
相关产品推荐

