亚马逊红移真空重新索引
Posted
技术标签:
【中文标题】亚马逊红移真空重新索引【英文标题】:Amazon redshift vacuum reindex 【发布时间】:2019-09-04 06:45:24 【问题描述】:我正在运行一个脚本来让表根据来自 svv_interleaved_columns 的 interleaved_skew 值运行真空重新索引,该值表示 AWS 指南中提到的交错列的偏斜率(interleaved_skew > 1.4)。 interleaved_skew 的值 1.00 表示所有行都按排序顺序排列,不需要重新索引。
现在我已经对 8gb 数据表运行了真空重新索引,我预计 interleaved_skew 值会下降,但它的行为不正常并且有时会增加。而且由于我的脚本正在根据 interleaved_skew 选择表来运行 Vacuum reindex,并且由于值没有下降到 1.00,因此正在选择相同的表并且 re index 正在再次运行,这浪费了我大部分时间。
我希望这些表在通过真空重新索引之后没有数据流到表中,那么该特定表不应该再次通过真空重新索引,因为不会有任何偏差。 但是,桌子又被挑选出来了。
提前致谢,
关于 stv_interleaved_counts 表以及 svv_interleaved_columns 中的值如何以及何时更改的任何解释都会对我有很大帮助
【问题讨论】:
旁注:交错索引很少是一个好主意。通过 VACUUM 维护系统需要大量开销。您确定它们对于您的用例是必需的吗? @John Rotenstein 在对使用交错排序键如何提高性能进行大量分析之后,我们已经选择了它,因为数据量很大,并且过滤器在大多数用例中都包含多个列 【参考方案1】:请查看我们在 GitHub 上的 "AnalyzeVacuumUtility"。它可能提供您正在寻找的所有功能。
就交错排序键而言,我建议仅将这种排序键样式用于不定期更新的大型表。在大多数情况下,复合排序键会表现得更好。
请查看我们的"Advanced Table Design Playbook: Compound and Interleaved Sort Keys" 以帮助选择正确的样式。
【讨论】:
感谢之前的回复。这些表足够大(21000 MB 块),所以我们选择了交错键。但我担心的是,如果我使用运行了 3 个小时的脚本,并且大部分时间都花在了 Vacuumm reindex 上。如果我采用相同的表进行评估以进行真空重新索引并直接在 redshift 上运行它们,那么它将在大约 5 分钟内完成。这世上怎么可能发生。我假设脚本运行相同的命令。 我能解释一下 svv_interleaved_columns 中的 interleaved_skew 值吗以上是关于亚马逊红移真空重新索引的主要内容,如果未能解决你的问题,请参考以下文章