全局二级索引上的节流会如何影响 Amazon DynamoDB 表?

1 分钟阅读
0

我的全局二级索引(GSI)发生了节流。

简短描述

对 GSI 进行节流会以不同的方式影响基本表。影响取决于节流是针对读取活动还是针对写入活动:

  • 当 GSI 的读取容量不足时,节流不会影响基本表。
  • 当 GSI 的写入容量不足时,节流会导致基本表或其任何 GSI 的写入操作失败。

有关更多信息,请参阅在 DynamoDB 中使用全局二级索引

解决方案

要防止出现节流,请按照以下步骤操作:

  • 确保每个 GSI 的预配置写入容量等于或大于基本表的预配置写入容量。要修改 GSI 的预配置吞吐量,请使用 UpdateTable 操作。如果您为基本表启用了自动扩缩,则最佳实践是对 GSI 应用相同的设置。为此,请在 DynamoDB 控制台中选择从基表复制。为获得最佳性能,请启用对所有全局二级索引使用相同的读/写容量设置。这允许 DynamoDB 自动扩缩功能统一扩缩基本表上的所有全局二级索引。有关更多信息,请参阅在现有表上激活 DynamoDB 自动扩缩
  • 请确保 GSI 的分区键尽可能均匀地在分区之间分配读取和写入操作。这有助于防止出现热分区,从而避免出现节流。有关更多信息,请参阅设计分区键以分散工作负载
  • 要确定最常被节流的键,请使用适用于 DynamoDB 的 Amazon CloudWatch Contributor Insights
AWS 官方
AWS 官方已更新 2 个月前