自有存储与引用存储

Owned Storage vs Referenced Storage

查看 Snowflake 文档中的此页面:https://docs.snowflake.com/en/user-guide/tables-storage-considerations.html#owned-storage-vs-referenced-storage ...

如果 T2 是从 T1 克隆而来,然后在 T2 中更改了数据,则 T2 是更改数据的所有者。

如果 T3 和 T4 都是从 T2 克隆的,然后删除了 T2,那么 T2 拥有的数据是否在 T3 和 T4 之间复制并且都拥有该数据的副本?

如果不是,这是如何工作的?

谢谢

  • 克隆的 table(s) 归执行克隆的 ROLE 所有。
  • 如果原始 table(s) 丢失,克隆 table 的所有权不会改变。
  • 没有"changed data"的所有权概念。 table 归 ROLE
  • 所有

我假设您指的是 table 数据存储关联的对象。当删除 table 时,存储元素不会被删除,除非没有其他 table(克隆)引用该数据。唯一被删除的是对该数据的引用。因此,如果您将 T3 和 T4 作为 T2 的克隆,然后删除 T2,则 T3 和 T4 仍将引用包含在 T2 中的微分区。它们没有重复。

微分区的所有权实际上只是为了计算特定 table 的存储。在您的示例中,T2 微分区的所有权将转移到首先创建的克隆(T3 或 T4,而不是两者)。这都是在幕后发生的 Snowflake 中的元数据操作。