了解存储成本¶
存储成本代表以下成本:
为批量数据加载/卸载而 暂存 的文件(压缩或未压缩存储)。
数据库表,包括 Time Travel 的历史数据。
数据库表的 故障安全。
数据库表的 克隆,其引用的数据已在拥有克隆的表中删除。
在 Snowflake 中存储数据的每月费用基于每 TB (TB)的统一费率。收取的金额取决于您的账户类型(容量或按需)和区域(US 或者 EU)。
有关存储定价,请参阅 Snowflake 定价指南。
本主题内容:
暂存文件成本¶
为批量数据加载/卸载而暂存的文件会根据文件的大小产生存储成本。有关加载数据的更多信息,请参阅 将数据载入 Snowflake。
数据库成本¶
数据库成本包括存储在数据库表中的数据。 数据库成本还包括为 Time Travel 维护的历史数据。Snowflake 自动压缩表中存储的所有数据,并使用压缩文件大小来计算账户使用的总存储空间。
另请参阅 数据存储注意事项。
Time Travel 和故障安全成本¶
Time Travel 和故障安全费用从数据更改之日起每 24 小时(即 1 天)计算一次。历史数据的维护天数取决于表类型和表的 Time Travel 保留期。
Snowflake 仅维护恢复已更新或删除的各个表行所需的信息,从而最大限度地减少历史数据所需的存储量。因此,存储使用量按已更改表的百分比计算。仅当删除或截断表时才会维护表的完整副本。
另请参阅 Time Travel 和故障安全的存储成本。
临时表和瞬态表成本¶
为帮助管理与 Time Travel 和故障安全相关的存储成本,Snowflake 提供了两种表类型:临时表和瞬态表。临时表和瞬态表不会产生与永久表相同的费用:
瞬态表和临时表会导致 Snowflake 向您的账户收取存储费,直到明确删除为止。这些表类型中存储的数据会导致 Snowflake 向您的账户收取总体存储费用,只要它们存在就会收费。
临时表通常用于非永久会话特定的临时数据,例如 ETL 或其他会话特定数据。临时表仅在生命周期或其关联会话中存在。会话结束时,临时表数据将会清除且不可恢复。在创建临时表的特定会话之外无法访问临时表。
临时表一直存在,直到显式删除为止,并且所有具有适当权限的用户都可以使用临时表。
瞬态表和临时表的 Time Travel 保留期可以为 0 天或 1 天。
瞬态表和临时表没有故障安全期。
瞬态表和临时表最多会产生一天的存储成本。
下表根据表类型说明了不同的场景:
表类型 |
Time Travel 保留期(天) |
故障安全期(天) |
维护历史数据的下限和上限时间(天) |
---|---|---|---|
永久 |
0 或 1(适用于 Snowflake Standard Edition) |
7 |
7、8 |
0 到 90(适用于 Snowflake Enterprise Edition) |
7 |
7、97 |
|
瞬态 |
0 或 1 |
0 |
0、1 |
临时 |
0 或 1 |
0 |
0、1 |
使用临时表和瞬态表来管理存储成本¶
选择是否将数据存储在永久表、临时表或瞬态表中时,请考虑以下事项:
当创建临时表的会话结束时,将删除临时表。临时表中存储的数据在删除表后 无法 恢复。
Snowflake 不能 在 Time Travel 保留期结束后恢复瞬态表中的历史数据。瞬态表 仅 用于不依赖 Snowflake 即可复制或再现的数据。
长期存在的表(例如事实表)应该 始终 定义为永久表以确保它们受到故障安全的充分保护。
短期表(即短于 1 天),例如 ETL 工作表,可以定义为瞬态表以削减故障安全成本。
如果停机时间和重新加载丢失数据所需的时间也是因素,则永久表即使增加了故障安全成本,也可能提供比临时表更好的整体解决方案。
备注
表的默认类型为永久表。要将表定义为临时表或瞬态表,必须在创建表时显式指定类型。
混合表成本¶
如果您选择将混合表用于运营和分析工作负载,请基于您在以下方面的消耗率,考虑该表类型中的数据存储成本:
混合表存储(主要由混合表本身及其包含的索引产生)
混合表请求
通常,混合表的成本比标准 Snowflake 表更高。
有关更多信息,请参阅 了解混合表的成本。
克隆表、架构和数据库成本¶
Snowflake 的 Zero-Copy Cloning 功能提供了一种便捷的方法来快速获取任何表(混合表除外)、架构或数据库的“快照”,并创建最初共享底层存储的该对象的派生副本。这对于创建不会产生任何额外成本的即时备份非常有用(直到对克隆对象进行更改)。
然而,克隆使得计算总存储使用量变得更加复杂,因为每个克隆都有自己单独的生命周期。这表示可以彼此独立地对原始对象或克隆进行更改,并且这些更改通过 CDP 受到保护。
例如,当创建表的克隆时,该克隆不使用任何存储,因为它在克隆时共享原始表的所有现有微分区;但是,可以在克隆中独立于原始表添加、删除或更新行。对克隆的每次更改都会产生新的微分区,这些分区由克隆独占并通过 CDP 进行保护。
此外,克隆可以被克隆,对可以创建的克隆的数量或迭代没有限制(例如,您可以创建克隆的克隆的克隆,等等),这会产生 n 级层次结构克隆对象,每个对象都有自己的共享和独立存储部分。
Cross-Cloud Auto-Fulfillment 成本¶
Cross-Cloud Auto-Fulfillment 让您可以向其他云区域的使用者提供数据产品,而无需手动复制数据。当您的数据产品自动配送到另一个区域时,会产生存储和其他成本。有关详细信息,请参阅 管理 Cross-Cloud Auto-Fulfillment 成本。
后续主题