我想问一下有关DynamoDB的读/写容量逻辑。我在这里查看了他们的文档https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ProvisionedThroughput.html 而且我还用谷歌搜索了它们与数据库中各项的关系,但我不理解它们的定义。
以我为例,
我有一张这样的桌子
名为user_id
的哈希键和名为flag_key
的排序键
每个项目都是这样的
{user_id: 'user-1', flag_key: 'refresh_token', flag_value: 'some-random-refresh-token'}
要么
{user_id: 'user-1', flag_key: 'roles', flag_value: ['role-a', 'role-b']}
以及与上述类似的其他内容。
现在,如果我要查询3件事,例如refresh_token
,roles
和login_history
我将查询dynamoDB 3次。
所以我的问题是
DynamoDB是否向我收取3个读取容量?即使合并的项目少于4KB?
答案 0 :(得分:0)
是的,如果您进行3个不同的查询,则将至少使用3个RCU。
但是,由于要检索同一分区键的项目,因此可以使用单个查询操作。只要您进行单个查询,它就会返回所需的所有数据,并且这些数据总共少于4KB,您将仅使用1个RCU(读取容量单位)。