gpt4 book ai didi

amazon-web-services - 了解 Dynamo DB 中的热键

转载 作者:行者123 更新时间:2023-12-03 00:38:04 25 4
gpt4 key购买 nike

我有一个默认容量的表,即 5 个 RCU 和 5 个 WCU。根据文档,这将导致 Dynamo DB 仅创建一个分区。

表结构:

  • 分区键:item_type
  • 排序键:item_id

我有一些 item_types 有一个或两个项目 ID,有些有 100,000 个。我们总共有大约 1000 万条记录。

我想了解如果只有一个分区,这会如何产生热键问题?一般来说,什么是热键?

最佳答案

我知道这是一个旧答案,但我发现了一些有用的信息。

Partitions and Data distributions 中所述:

DynamoDB allocates additional partitions to a table in the following situations:
- If you increase the table's provisioned throughput settings beyond what the existing partitions can support.
- If an existing partition fills to capacity and more storage space is required.

这意味着您无法假设您正在使用多少个分区。实际上,DynamoDB 的文档从未讨论过物理分区。相反,他们关注表的 partitionKey

如果您在页面中深入了解,可以找到有关 dynamoDB 如何使用 partionKey 来散列逻辑/物理分区的详细说明。

如何使用partitionKey避免热键?

Designing Partition Keys to Distribute Your Workload Evenly 中所述:

The partition key portion of a table's primary key determines the logical partitions in which a table's data is stored. This in turn affects the underlying physical partitions. Provisioned I/O capacity for the table is divided evenly among these physical partitions. Therefore a partition key design that doesn't distribute I/O requests evenly can create "hot" partitions that result in throttling and use your provisioned I/O capacity inefficiently.

这种过于简单化意味着通常您必须设计分区键才能最大化分区/记录因子。

这并不总是正确的:例如,您可以在同一个 partitionKey 下拥有大量记录,这些记录几乎从未被读取或更新并写入该 partitionKey > 很少见。

就您的情况而言:如果您希望对同一 item_type 进行大量读取/写入,最好对数据进行不同的建模。

<小时/>

更多有用的链接:

Best Practices for Designing and Using Partition Keys Effectively
Using Write Sharding to Distribute Workloads Evenly

关于amazon-web-services - 了解 Dynamo DB 中的热键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49857507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com