【问题标题】:What does the column skew_sorkey1 in Amazon Redshift's svv_table_info imply?Amazon Redshift 的 svv_table_info 中的 skew_sorkey1 列意味着什么?
【发布时间】:2016-03-08 01:47:01
【问题描述】:

Redshift 的文档 (http://docs.aws.amazon.com/redshift/latest/dg/r_SVV_TABLE_INFO.html) 指出列 skew_sortkey1 的定义是 - 如果定义了排序键,则最大非排序键列的大小与排序键第一列的大小之比.使用此值来评估排序键的有效性。

这意味着什么?如果这个值很大,这意味着什么?或者小?

谢谢!

【问题讨论】:

    标签: amazon-redshift


    【解决方案1】:

    较大的skew_sortkey1值意味着最大的非排序键列的大小与排序键的第一列的比例很大,这意味着排序键在一个磁盘块中的行偏移量对应于数据中更多的磁盘块列。

    例如,假设一个表的 skew_sortkey1 值为 5。现在排序键的一个磁盘块中的行偏移量对应于其他数据列的 5 个磁盘块。区域映射存储排序键磁盘块的最小值和最大值,因此当您使用排序键上的 where 子句查询此表时,redshift 会识别包含此数据的排序键块(块 min

    因此得出结论,skew_sortkey1 值较高是不可取的。

    【讨论】:

      【解决方案2】:

      排序键定义了表行的每个字段存储在 redshift 磁盘块中的顺序。这意味着属于排序键区域的列数据一起存储在单个磁盘块(1 MB 大小)中。由于 redshift 将压缩应用于不同的列,因此 sortkey 列将具有将相似数据存储在同一磁盘块中的潜在优势,这会导致更高的压缩/更有效的数据存储。其他非排序键列不能说同样的事情。

      SVV_TABLE_INFO 中的列skew_sortkey1 量化了表中第一个排序键的有效性。返回值允许用户确定所选排序键是否提高了数据存储的压缩/效率。

      【讨论】:

      • 您能否进一步解释一下,展示一个产生高偏斜值的示例与一个产生低偏斜值的示例,哪个更可取?
      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2017-05-10
      相关资源
      最近更新 更多