2个雪花表,数据相同,大小不同

Posted

技术标签:

【中文标题】2个雪花表,数据相同,大小不同【英文标题】:2 snowflake tables, same data ,size different 【发布时间】:2020-08-03 05:34:08 【问题描述】:

我有 2 个雪花表、1 个阶段表 (ABC_Stg) 和 1 个常规表 (ABC),另外还有 2 列、src_updt_time 和剩余列的 md5 计算值 MD5_Cal,因此与阶段表相比,只有 2 列数据额外。 但是,我发现这两个表对于同一行的大小差异非常大。我确实从阶段插入到常规表,并在我的插入语句中添加了 systimestamp 和 md5 计算值。

如果阶段表大小为 300 KB 用于 2500 行,则常规表的大小为 1.5 MB

我在这里做错了什么会导致常规表大小大幅增加吗?

谢谢

【问题讨论】:

很有可能您的 2 个额外列不仅会向该表添加大量数据,而且它们还会更改下面微分区的压缩。 我认为你是对的,我相信它基于列数的 MD5 值会导致表格大小的差异 【参考方案1】:

没有看到表格真的无法回答这个问题。我会检查以下内容:

列的数据类型(和大小)。因为“相同的数据”并不意味着您没有存储更高精度的数字,例如它会占用更多空间。 空间的去向,因为常规表也具有时间旅行和故障保护功能,因此如果进行了任何更新,存储空间中的差异甚至可能高达数 TB(即,如果您有一个包含 10TB 数据的表然后截断到 5 行,时间旅行和故障保护所需的空间仍然是 10TB,直到它过期)

【讨论】:

以上是关于2个雪花表,数据相同,大小不同的主要内容,如果未能解决你的问题,请参考以下文章

hash表收集雪花

在雪花的临时表中计算大小写

在雪花中对具有不同大小的移动窗口的数字列求和

在雪花中缓存

检查雪花中的表架构更改

POJ - 3349 Snowflake Snow Snowflakes (哈希)