【问题标题】:DynamoDB read/write capacity explanationDynamoDB 读写能力说明
【发布时间】:2019-02-24 07:06:45
【问题描述】:

我想询问有关 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_tokenroleslogin_history

我会查询 dynamoDB 3 次。

所以我的问题是,

DynamoDB 会为此向我收取 3 次读取容量费用吗?即使组合的项目小于 4KB?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb


    【解决方案1】:

    是的,如果您进行 3 个不同的查询,您将至少使用 3 个 RCU。

    但是,由于您正在检索相同分区键的项目,因此您可以使用单个查询操作。只要您进行一次查询,它就会返回您需要的所有数据,并且这些数据总共小于 4KB,您将只使用 1 个 RCU(读取容量单位)。

    【讨论】:

    • 这是否意味着最好将标志表示为列并使用 ProjectionExpression?因为会有很多标志并且查询它们确实会超过4KB。 (那里也有一系列日志)
    • 可能,但请记住,ProjectionExpression 仅在用于投影到 GSI 时会节省您的容量 - 否则只会节省网络带宽。
    猜你喜欢
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多