AWS Redshift:应该压缩DISTKEY / SORTKEY列吗?

Sac*_*iko 2 amazon-redshift

让我问一些有关AWS Redshift上列压缩的问题。现在,我们正在验证可以使用适当的diststyle,sortkey和列压缩来提高性能。

如果我的理解是正确的,则列压缩可以帮助降低IO成本。我尝试了“分析压缩表名”。并且大多数Redshift建议对我们的列使用'zstd'或'lzo'作为压缩方法。

一般来说,请问设置为DISTKEY / SORTKEY的列也应该像其他列一样压缩吗?

我是Redshift的新手,任何建议都将不胜感激。

真诚的

Joe*_*ris 7

DISTKEY可以压缩,但第一 SORTKEY列应为未压缩(ENCODE raw)。如果您有多个排序键(复合),则可以压缩其他排序键列。

另外,通常建议使用通常过滤的日期/时间戳列(如果存在)作为复合排序键中的第一排序键列。

最后,如果要在非常大的表之间进行联接,请尝试在两个表上使用相同的dist和sort键,以便Redshift可以使用更快的合并联接。

  • 使用高度压缩的排序键对问题的解释:https://github.com/awslabs/amazon-redshift-utils/blob/master/src/Investigations/EarlyMaterialization.md请注意,我们于去年12月宣布了延迟实现。排序关键偏斜,但一般建议仍然存在:https://aws.amazon.com/about-aws/whats-new/2017/12/amazon-redshift-introduces-late-materialization-for-faster-query-processing/ (2认同)