首页 > 解决方案 > 如何设计排序键中有许多列的表?

问题描述

我正在制作红移原型,需要一些关于排序键设计的建议。我有一个包含 5 个数值和 20 列的表,可用于过滤。我使用日期作为 dist 键,但我迷失了排序键设计。

我有基于历史使用的排序列的权重,但我如何在红移中处理这个。创建排序键 (col1, col2,.. col20) 似乎不是最好的方法。我是否使用前 5 个最常用的过滤器创建排序键?或者其他一些方法。

标签: amazon-redshift

解决方案


你有很多选择,一点也不容易:) 基于一种感觉和你描述表格的方式,我认为你应该使用一个 INTERLEAVED SORTKEY 并添加最多 8 列。如果列没有展开,例如 2 列是同时增长的日期,例如 start 、 end 或 id 同步增长,这不是一个好的解决方案。如果数据均匀分布在 8 列上,那么这是一个非常好的 SORTKEY 选项。

你需要做很多测试,有很多选择,你只有这个表还是其他表?

另一个问题是您将使用哪种类型的 DISTSTYLE?桌子小,大?您有多种选择,取决于每个节点上的可用空间量和其他因素。如果您有足够的空间,请一一尝试。

见这里:https ://docs.aws.amazon.com/redshift/latest/dg/viewing-distribution-styles.html

更多信息可以帮助我更好地指导您。检查此链接:https ://docs.aws.amazon.com/redshift/latest/dg/tutorial-tuning-tables.html

GL!


推荐阅读