创建GSI需要很长时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建GSI需要很长时间相关的知识,希望对你有一定的参考价值。
我有一个已在DynamoDB中创建了近20亿行的表。
由于查询要求,我必须在其中创建全局二级索引(GSI)。 GSI创建过程在36小时前开始,但仍未完成。门户网站显示项目数量约为1亿。还有很长的路要走。
问题:
- 为什么分配足够的WCU和RCU需要这么长的时间(事实上是30k)。
- 我使用的GSI分区密钥是值重复的东西,这可能是GSI创建花费更多时间的原因(理想情况是我们选择一个不重复项跨越多个分区的分区键)。
- 有没有办法在流程启动时中止GSI的创建?它不允许通过AWS控制台。
谢谢。
GSI拥有自己的WCU和RCU,与主要索引不同且独立。这可能是因为你的GSI上没有足够的WCU吗?
如果您的全局二级索引创建时间过长(在现有大型表上添加索引时很常见),则可以按照以下步骤配置其他写入容量:
打开DynamoDB控制台。
从导航窗格中,选择Tables,然后从列表中选择您的表。
选择“索引”选项卡。
增加索引的写入容量,然后选择“保存”。
大约一分钟后,从“度量标准”选项卡中检查OnlineIndexPercentageProgress度量标准,以查看全局二级索引的创建是否正在顺利进行。
编辑:以上来自AWS Knowledge Center
'OnlineIndexPercentageProgress'说明:
将开始创建您的全球二级索引。您可以在“指标”选项卡上监控进度:
选择“度量标准”选项卡。
选择查看所有CloudWatch指标。
在CloudWatch控制台中,选择DynamoDB。在“搜索度量标准”框中,输入OnlineIndexPercentageProgress。注意:如果搜索返回空列表,请等待一分钟以填充指标。
选择索引的名称以查看进度。
以上是关于创建GSI需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章
如何改进 cube js preagregations 创建过程? (即使有分区粒度,构建 preggs 也需要很长时间)