amazon-web-services - DynamoDB 读写能力说明
问题描述
我想询问有关 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?
解决方案
是的,如果您进行 3 个不同的查询,您将至少使用 3 个 RCU。
但是,由于您正在检索相同分区键的项目,因此您可以使用单个查询操作。只要您进行一次查询,它就会返回您需要的所有数据并且这些数据总共小于 4KB,您将只使用 1 个 RCU(读取容量单位)。
推荐阅读
- python - 为什么导入在 __init__ 文件中定义后不起作用
- python - 尝试从另一个仓库(在 VSCode 中)导入 Python 模块
- java - 有没有办法使用带有服务帐户的谷歌电子表格 API 而没有 json 文件在 java 中进行身份验证?
- python - 烧瓶 wtforms 在同一 html 页面和同一路由/视图上的 2 个表单上显示验证错误
- ios - 将文本从视图中的 TextLabel 传递到另一个视图中的标签
- php - 模型上的 Laravel all() 方法在 Collection 中返回 null
- mysql - 如何正确关联sequelize中的表?
- cuda - 将一行指针传递给 __global__ 函数
- html - 显示:弯曲使我的卡片不均匀,我该如何解决?
- c - 使用 SIGEV_THREAD 时,如何为所有 timer_create 回调重用单个线程?