创建GSI需要很长时间

时间:2017-12-21 08:14:24

标签: amazon-dynamodb amazon-dynamodb-streams

我有一个已经在DynamoDB中创建了近20亿行的表。

由于查询要求,我必须在其中创建全局二级索引(GSI)。 GSI创建过程在36小时前开始,但仍未完成。门户网站显示项目数量约为1亿。还有很长的路要走。

问题:

  1. 为什么足够的WCU和RCU需要这么长时间 alotted(事实上是30k)。
  2. GSI分区密钥我使用的是重复值的东西,这可能是GSI创建花费更多时间的原因(理想情况是我们选择不重复项目的分区键跨越多个分区。)
  3. 是否有办法在流程启动时中止GSI的创建?它不允许通过AWS控制台。
  4. 感谢。

1 个答案:

答案 0 :(得分:6)

GSI拥有自己的WCU和RCU,与主要索引不同且独立。这可能是因为你的GSI没有足够的WCU吗?

  

如果您的全球二级索引创建时间太长(常见   在现有大型表上添加索引时,您可以进行配置   通过以下步骤获得额外的写入容量:

     

打开DynamoDB控制台。

     

在导航窗格中,选择Tables,   然后从列表中选择您的表。

     

选择“索引”选项卡。

     

增加索引的写入容量,然后选择“保存”。

     

在   大约一分钟,检查来自的OnlineIndexPercentageProgress指标   “度量标准”选项卡,用于查看是否创建了全局二级索引   进展顺利。

编辑:高于AWS Knowledge Center

' OnlineIndexPercentageProgress'指令:

  

将开始创建您的全球二级索引。你可以监控   “指标”选项卡上的进度:

     

选择“指标”标签。

     

选择查看所有CloudWatch指标。

     

在CloudWatch控制台中,选择DynamoDB。在“搜索度量标准”框中,输入OnlineIndexPercentageProgress。注意:如果搜索返回空   列表,等待一分钟填充指标。

     

选择名称   查看进度的索引。