You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两种DynamoDB表设计方案的RCU消耗对比分析

DynamoDB表设计RCU消耗分析及测试解释

哪种方案RCU消耗最低?

方案A的RCU消耗始终更低,核心原因是数据存储粒度的差异:

  • 方案A:将同一cookie对应的所有用户名存储在单个项目的associate_usernames属性中。读取时仅需一次请求获取该项目,只要项目总大小不超过8KB(最终一致读取)或4KB(强一致读取),仅消耗0.5个RCU(最终一致)或1个RCU(强一致)。即使后续该cookie关联的用户名数量增加,只要项目大小未超出阈值,RCU消耗不会变化。
  • 方案B:每个用户名对应一个独立项目,查询同一cookie下的N个用户需要读取N个项目。RCU消耗会随匹配的项目数量增加而上升——DynamoDB按读取的总数据量计算RCU,最终一致读取每8KB消耗1个RCU,强一致读取每4KB消耗1个RCU。匹配的项目越多,总数据量越大,RCU消耗越高。

测试合理性及现象原因

你的测试是合理的,结果完全符合DynamoDB的RCU计算规则:

  • 数据量较小时:
    两种方案都仅读取1个小项目(方案A是包含单个用户名的map,方案B是单个用户项目)。假设采用最终一致读取模式,只要项目总大小≤8KB,两者的RCU消耗均为0.5(因为1个RCU支持最终一致读取8KB,小项目的读取消耗按数据占比或最小计量单位计算后显示为0.5)。
  • 当partition key匹配数增至100时:
    • 方案A仍读取单个项目,只要该项目包含100个用户名的map总大小≤8KB,最终一致读取的RCU消耗保持0.5。
    • 方案B需要读取100个独立项目,假设每个项目大小约80字节,100个项目总大小约8KB。最终一致读取模式下,8KB恰好消耗1个RCU,因此RCU变为1。

内容的提问来源于stack exchange,提问作者Munachi Ernest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:13:20