【问题标题】:Impact of unique partition key on DynamoDB performance唯一分区键对 DynamoDB 性能的影响
【发布时间】:2022-01-20 05:39:28
【问题描述】:

我有以下表格结构。我的partitionKey 目前不是唯一的,但我的sortKey 是唯一的。

我还有一个Global Secondary Index,其中我的列Column Units 是唯一的partitionKey。

将删除 GSI 并将 partitionKey 改为 Column Units,这是独一无二的,这样可以加快我的查询速度并减少延迟。

原因,我想问的是我偶尔会看到DDB 调用此表的次数激增。

Current Table Structure
GSI - Column Units
Column Zone (partitionKey) Column Units (sortKey)
A unique-1
A unique-2
B unique-3

【问题讨论】:

  • 您如何请求数据,即访问模式是什么?

标签: amazon-web-services dynamodb-queries amazon-dynamodb


【解决方案1】:

在您的情况下,您也可以在使用排序键时复制分区键,如果您只使用具有重复值的分区键,您将在 dynamoDB 分区数据时遇到问题。

DynamoDB 根据必须唯一的主键值存储和检索每个项目。项目分布在 10 GB 的存储单元中。

对于具有复合主键的表,排序键可以用作分区边界。如果集合大小超过 10 GB,DynamoDB 会按排序键拆分分区。

【讨论】:

    【解决方案2】:

    删除或添加全局二级索引对基表的性能没有影响。全局二级索引实际上是一个单独的表,基表中的数据会异步复制到它。

    如果您使用GetItem API 来请求项目,那么您是否具有主键(仅分区键)或复合主键(分区键和排序键)都无关紧要。

    【讨论】:

      猜你喜欢
      • 2021-05-30
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多