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

0

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

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

profile picture
EXPERTE
gefragt vor 6 Monaten4 Aufrufe
1 Antwort
0

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

考虑以下替代方案:

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

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

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

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen