在redshift中对列使用dist键时数据将如何分布

时间:2018-07-04 10:16:56

标签: amazon-redshift

我是Redshift的新手。我不知道哪一列适合于设置分配键以提高查询性能。如何找到最佳的专栏?以及如何使用dist键将数据分布在各个节点上?

1 个答案:

答案 0 :(得分:0)

这是一个非常广泛的问题,很难提供简短的答案。无论如何,让我尝试在这里进行总结,在Redshift中有两种类型的密钥,distkeysortkey distkey -表的distkey是分配给每个节点的列。保证该列中具有相同值的行位于同一节点上。

排序键-表的排序键是在每个节点中对其进行排序的列。它应该应用于您通常order by要做的列。

让我们在这里关注distkey

分发密钥可以是两种类型,“偶数”或“全部”。分发密钥用于实现跟踪。

  • 均匀分布数据以进行并行处理
  • 最小化数据移动

“全部”分发样式应用于-具有缓慢变化的数据,合理的大小(即几百万行,而不是几亿行),缺少频繁联接的公共分发键。 对于不经常联接或聚集的表以及没有可接受的候选键的大型表,应使用“偶数”分配样式。

这里有一些不错的材料可供阅读。 https://www.slideshare.net/AmazonWebServices/deep-dive-on-amazon-redshift-64919704 https://www.youtube.com/watch?v=iuQgZDs-W7A https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-best-dist-key.html https://docs.aws.amazon.com/redshift/latest/dg/c_Distribution_examples.html

我希望这能为您提供一些前进的方式。