我有一个表,已经在DynamoDB中创建了近20亿行。
由于查询需求,我不得不在其中创建一个全局二级索引(GSI)。 GSI的创建过程开始于36个小时前,但尚未完成。门户网站显示,项目数约为1亿。还有很长的路要走。
问题:
当有足够的WCU和RCU时,为什么要花这么长时间
大量(实际上是30k)。
我使用的GSI分区键的值是重复的,这可能就是GSI创建花费更多时间的原因(理想的情况是我们选择了一个分区键,该键不会重复出现在多个分区上)。
有没有办法在过程启动时中止创建GSI?它不允许通过AWS控制台。
谢谢。
最佳答案
GSI拥有自己的WCU和RCU,它们与主索引是不同的。可能是因为您的GSI上没有足够的WCU吗?
如果您的全局二级索引创建时间过长(常见
在现有的大表上添加索引时),您可以设置
通过执行以下步骤来增加写入容量:
打开DynamoDB控制台。
在导航窗格中,选择表格,
然后从列表中选择表格。
选择索引选项卡。
增加索引的写入容量,然后选择“保存”。
后
大约一分钟,请从以下位置检查OnlineIndexPercentageProgress指标
“指标”标签以查看是否创建了全局二级索引
进展令人满意。
编辑:从AWS Knowledge Center上方
“ OnlineIndexPercentageProgress”说明:
将开始创建全局二级索引。您可以监控
“指标”选项卡上的进度:
选择指标标签。
选择查看所有CloudWatch指标。
在CloudWatch控制台中,选择DynamoDB。在“搜索指标”框中,输入OnlineIndexPercentageProgress。注意:如果搜索返回空
列表中,请等待一分钟以填充指标。
选择名称
索引以查看进度。
关于amazon-dynamodb - 建立GSI需要很长时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47920651/