来自snowflake文档clone storage usage。克隆组中的每个表都有一个独立的生命周期,这些表中存储的所有权有时需要转移到克隆组中的另一个表。例如,假设一个克隆组包含以下内容:
T1 >> T2 >> T3T1有1000万个数据,(p0=5M + p1=5M) T1和T2共享5M个data (Partition1 -> p1)
T2有1500万个数据,(p1 + p2=5M + p3=5M) T2和T3共享1000万个(p1 + p2)数据
T3有1200万个数据,(p1 + p2 + p4=2M) T3和T2总共共享1000万个数据。(p1 + p2)
如果时间旅行窗口为零。丢弃T2:
p1仍归t1所有,并由t3引用- p2所有权将从t2转移到t3
删除t2后的总存储使用率为p0 + p1 + p2 + p4 = 5 + 5 + 5 + 2 = 17
发布于 2019-12-03 02:44:03
编辑:根据进一步的研究更新答案
微分区所有权似乎确实在时间旅行窗口(在本例中为0)之后更改了所有权,因此我相信您是正确的
请参阅Owned Storage vs Referenced Storage文档
与相关的:存储指标看起来不会改变,即使原始表被删除或重命名,它也会继续指向原始表。请参阅Table Storage Metrics usage notes
存储字节始终归最初添加字节的表所有,并因此计入该表。如果随后克隆该表,则这些初始字节的存储度量永远不会传输到克隆,即使这些字节已从源表中删除。
https://stackoverflow.com/questions/59144849
复制相似问题