我参与了一个时间序列遥测项目,我们将数据存储到Amazon Redshift中。我们有一个timestamp
列用于收集时间。并且ClientID
,IOt-ID
表示客户端中唯一的IOT设备。
从查询特定日期/星期/月份的意义上来说,我们所有的查询都受时间限制。以下是好的dist / sort键吗?
答案 0 :(得分:1)
Amazon Redshift的一般规则是:
JOIN
一起使用的字段。这样会将该列给定值的所有数据都放在同一片上,从而更容易与其他具有相同DISTKEY的表进行JOIN
。WHERE
语句中最常用的字段。行将按此字段的顺序存储,从而更容易“跳过”不包含所需数据的磁盘块。 (这非常功能强大。)因此,听起来timestamp
字段是SORTKEY
的理想选择。
DISTKEY
的选择取决于您的加入方式,但由于相关数据位于同一位置,因此也可以为GROUP BY
提供帮助。