【问题标题】:DynamoDB partition splitting for high throughput table高吞吐量表的 DynamoDB 分区拆分
【发布时间】:2019-10-03 00:28:15
【问题描述】:

我正在尝试了解特定情况下的 DynamoDB 分区行为。我想知道如果单个分区的读/写吞吐量超过 3000 RCU 或 1000 WCU(假设我有非常受欢迎的项目被查询/写入),我的分区会发生什么。假设在这个分区上,只存在一个分区键(许多值持有不同的排序键)。我想知道当我的使用量超过 3000 / 1000 时 Dynamo 的行为是什么。DDB 会自动将分区分成两个较小的分区吗?我在哪里可以找到有关此特定情况的文档?

谢谢

【问题讨论】:

    标签: amazon-dynamodb amazon-dynamodb-streams


    【解决方案1】:

    只要针对给定分区键的流量不超过 3000 个读取容量单位或 1000 个写入容量单位,DynamoDB 就会使用您预置的吞吐量自动支持您的访问模式。 (Source)

    它不支持每个分区键超过 3000 个 RCU 或 1000 个 WCU,因此,如果您超过此值,您对该分区键的某些请求将被限制。

    如果需要写超过1000个WCU,可以使用write sharding。如果您需要读取超过 3000 个 RCU,您可以创建一个 GSI,它是该表的精确副本来分发您的读取,或者这是使用 DAX 的一个很好的用例。

    【讨论】: