在大量的数据更新之后,加速Redshift中VACUUM命令的最佳实践是什么?

0

【以下的问题经过翻译处理】 我正在使用一个16节点RA3.4XL集群上的30TB表进行Amazon Redshift的POC。在进行重要的数据更新后,我运行了VACUUM BOOST的命令(针对具有复合排序键的表),它大约需要10个小时才能完成。在清理窗口期间,CPU利用率不高于30%。如何才能让VACUUM命令运行更快呢?

我对这个长时间停机感到担忧,因为表中的数据更新可能需要定期运行(例如,遵守GDPR合规性要求),并且必须在更新完成后运行VACUUM命令。

profile picture
전문가
질문됨 6달 전4회 조회
1개 답변
0

【以下的回答经过翻译处理】 在Amazon Redshift中运行VACUUM命令是非常资源密集型的任务。不建议在线上大型表格中运行VACUUM,特别是表格中有很多未排序/删除的行。

考虑以下替代方案:

  1. 对于大型表格卸载到Amazon S3,然后再复制回来。在执行这些步骤之前,对集群进行弹性调整,将节点数增加两倍,然后在操作完成后恢复到原始的集群大小。

  2. 进行深度复制,即创建一个新表格,并使用批量插入重新填充。在进行深度复制之前,对集群进行弹性调整。

  3. 创建一个手动快照,并恢复到一个新的集群中。当此操作完成后,您可以选择删除原始集群并重命名新集群。这可能是移除大量已删除行的最快选项(大约需要一到两个小时)。

profile picture
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠