发布于: Dec 19, 2018

Amazon Redshift 现在自动运行 VACUUM DELETE 操作,以回收由先前的 UPDATE 和 DELETE 操作标记为删除的行占用的磁盘空间。它还对表进行碎片整理以释放占用的空间并提高工作负载的性能。

VACUUM DELETE 计划根据查询负载和表中已删除行的数量运行。例如,VACUUM DELETE 仅在高负载期间偶尔运行,以减少对用户和查询的影响。当传入的查询负载很高时,自动 VACUUM DELETE 会暂停,然后稍后恢复。由于 Amazon Redshift 会跳过不需要清理的表,因此不需要修改定期计划的 VACUUM DELETE 作业。

此外,现在,所有清理操作在给定时间内仅针对部分表内容运行,而不是针对整个表运行。这显著减少了需要清理的资源量,例如内存、CPU 和磁盘 I/O。

您可以通过监控 AWS 管理控制台上“集群性能”选项卡上的“auto vacuum delete 回收的空间”并使用 Cloudwatch 指标 AutoVacuumSpaceFreed 来跟踪 VACUUM DELETE 何时在后台运行。有关更多信息,请参阅 Amazon Redshift 数据库开发人员指南中的 VACUUM 函数。

现在,Auto VACUUM DELETE 在所有 AWS 商业区域的版本 1.0.5290 或更高版本中可用。请参阅 AWS 区域表,了解 Amazon Redshift 的可用情况。