在大量的数据更新之后,加速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 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南

相關內容