使用 Egress Cost Optimizer 优化数据传输成本¶
Egress Cost Optimizer (ECO) 是一种自动履行功能,可在与多个区域共享数据或应用程序时最大限度地降低出口成本,帮助 Snowflake 上的提供商(公开和私密列表)降低共享成本和服务成本,从而最大限度地提高投资回报率 (ROI)。
备注
默认情况下,使用 Virtual Private Snowflake (VPS)、使用 Business Critical Edition 或在 政府云 上的客户无法使用 Egress Cost Optimizer。如果您是 BCE、VPS 或 Gov 客户,可以联系的 Snowflake 客户经理,了解有关 ECO 启用的更多信息。
提供商可以在任何商业区域的主账户中启用 ECO,并创建针对任何其他地区的列表,包括 VPS、BCE 和 Gov。
Egress Cost Optimizer 的工作原理¶
Egress Cost Optimizer 根据列表可用的区域和云提供商的数量来分析您的列表配置,并为数据库复制提供极具成本效益的自动履行。例如,如果您要将数据复制到多个云区域,并在同一个数据集上产生重复的出口成本,它会智能地通过 Snowflake 管理的 ECO 缓存路由数据。这样,客户最终无需支付额外的出口费用即可扩展到新区域,从而降低了数据传输成本。
再举一个例子,如果您仅复制到同一云提供商内的 1-2 个区域,则 ECO 不使用 ECO 缓存,因为数据传输成本已经得到优化。因此,通过启用 ECO,您可以在任何数据共享场景下确保低数据传输成本。有关 ECO 成本、收益和限制的更多信息,请参阅 出口成本优化的好处和成本 和 ECO 的限制。
还有一个需要考虑的例子是,您是否在复制表,而不是整个数据库。ECO 仅在总体成本在数据库级别得到优化时才使用云缓存。因此,如果您的数据库中有一个表,并且该表被复制到 10 个区域,而数据库本身只被复制到一个区域,那么复制将不会使用缓存。
不使用 Egress Cost Optimizer:随着数据在 30 多个区域共享,出口成本不断增加。¶
使用 Egress Cost Optimizer:将出口成本减少至将数据移入 ECO 缓存一次的费用。¶
ECO 不会影响列表的现有安全性、功能和性能承诺,例如支持通过 Snowflake Tri-Secret Secure (TSS) 进行动态和静态数据加密,或现有的跨云自动履行功能(例如对象级复制、列表刷新 cron 计划和列表刷新历史记录)。
您可以访问我们的 子处理器 网站,详细了解与 Cloud Cache 相关的支持 Snowflake 的第三方子处理器。
使用 ECO 时,除了向使用者提供数据的区域外,数据还将托管在以下区域:
本地区域 |
本地云 |
本地区域 ID |
Snowflake 管理的 ECO 缓存区域 |
|---|---|---|---|
加拿大(中部) |
AWS |
|
北美东部 |
南美(圣保罗) |
AWS |
|
北美东部 |
US 西部(俄勒冈州) |
AWS |
|
北美西部 |
US 东部(俄亥俄州) |
AWS |
|
北美东部 |
US 东部(弗吉尼亚北部) |
AWS |
|
北美东部 |
US 中部 1(爱荷华州) |
GCP |
|
北美东部 |
US 东部 4(弗吉尼亚州北部) |
GCP |
|
北美东部 |
加拿大中部(多伦多) |
Azure |
|
北美东部 |
US 中部(爱荷华州) |
Azure |
|
北美东部 |
US 东部 2(弗吉尼亚州) |
Azure |
|
北美东部 |
US 中南部(得克萨斯州) |
Azure |
|
北美东部 |
US 西部 2(华盛顿) |
Azure |
|
北美西部 |
本地区域 |
本地云 |
本地区域 ID |
Snowflake 管理的 ECO 缓存区域 |
|---|---|---|---|
EU(法兰克福) |
AWS |
|
欧盟 |
EU(苏黎世) |
AWS |
|
欧盟 |
EU(斯德哥尔摩) |
AWS |
|
欧盟 |
EU(爱尔兰) |
AWS |
|
欧盟 |
欧洲(伦敦) |
AWS |
|
欧盟 |
EU(巴黎) |
AWS |
|
欧盟 |
中东中部 2(达曼) |
GCP |
|
欧盟 |
欧洲西部 2(伦敦) |
GCP |
|
欧盟 |
欧洲西部 3(法兰克福) |
GCP |
|
欧盟 |
欧洲西部 4(荷兰) |
GCP |
|
欧盟 |
欧洲北部(爱尔兰) |
Azure |
|
欧盟 |
瑞士北部(苏黎世) |
Azure |
|
欧盟 |
欧洲西部(荷兰) |
Azure |
|
欧盟 |
UAE 北部(迪拜) |
Azure |
|
欧盟 |
UK 南部(伦敦) |
Azure |
|
欧盟 |
本地区域 |
本地云 |
本地区域 ID |
Snowflake 管理的 ECO 缓存区域 |
|---|---|---|---|
亚太地区(东京) |
AWS |
|
亚太地区 |
亚太地区(首尔) |
AWS |
|
亚太地区 |
亚太地区(大阪) |
AWS |
|
亚太地区 |
亚太地区(孟买) |
AWS |
|
亚太地区 |
亚太地区(新加坡) |
AWS |
|
亚太地区 |
亚太地区(悉尼) |
AWS |
|
亚太地区 |
亚太地区(雅加达) |
AWS |
|
亚太地区 |
澳大利亚东部(新南威尔士州) |
Azure |
|
大洋洲 |
印度中部(浦那) |
Azure |
|
亚太地区 |
日本东部(东京) |
Azure |
|
亚太地区 |
东南亚(新加坡) |
Azure |
|
亚太地区 |
ECO 确保在任何情况下,您只需支付一次跨云出口费用。因此,您复制到的云区域越多,潜在节省的出口成本就越多。
备注
此功能仅适用于 Cross-Cloud Auto-Fulfillment,不适用于手动复制。
出口成本优化的好处和成本¶
出口成本优化可用于降低和控制列表自动履行成本。
- 初始成本:
首次使用 Egress Cost Optimizer 自动履行数据时,数据将缓存在 Snowflake 管理的 S3 兼容存储器中,出口成本为零,您需要为每个列表中所有初次出口到该存储位置的数据付费。此后,仅对数据更新收取出口费用。
- 增量数据加载与完整数据重新加载:
如果您定期替换表,或者截断并重新加载表,请注意,这些新数据将被视为新表。使用这些过程会导致这些表重新缓存,与使用资源密集程度较低的方法修改数据相比,会产生更高的成本。
- 使用多个区域或云,节省更多费用:
在更多区域共享数据可以节省更多总出口成本。共享数据的区域越多,Egress Cost Optimizer 可节省的费用就越多。
- 数据库级,而非列表级:
如果在账户级别(而不是列表级别)设置自动履行计划,则将在所有遵循账户计划的列表上启用 Egress Cost Optimizer。在数据库上启用 Cost Optimizer 后,所有涉及该数据库的后续自动执行都将使用 Cost Optimizer。
- 缓存存储成本:
缓存存储成本仅在列表处于活动状态时产生。例如,如果您有一个已缓存的列表,并在 10 天后删除该列表,则您只需支付 10 天的缓存存储费用。
For more information about pricing for egress between source and target regions or clouds, see the Snowflake pricing guide and the Snowflake service consumption table.
ECO FAQs¶
- ECO 何时使用零出口缓存?
ECO 使用一种基于启发式的算法来决定何时使用 ECO 缓存。例如,如果您仅复制到同一云提供商内部的一个或两个区域,ECO 不会使用零出口成本缓存,因为您的数据传输成本已经是最优的。该算法在列表级别计算有效的数据传输成本。
- 如何衡量数据传输的变化?
当您的列表使用 ECO 云缓存时,缓存会更新 LISTING_REFRESH_HISTORY 中的
bytesSkipped参数。如果您没有看到缓存被使用,那么说明您的数据传输已经是最优的。如有任何疑问,请联系 Snowflake 支持。- 使用 ECO 的费用是多少?
使用 ECO 缓存的成本在 `Snowflake 服务消费表 <https://www.snowflake.cn/legal-files/CreditConsumptionTable.pdf>`_(在 Snowflake 网站上)的表 3(d) 中有描述。ECO 会将数据存储 15 天,并且您只需为缓存使用的天数付费。例如,您在第一天创建一个列表并启用 ECO。该列表使用缓存进行跨云复制以面向目标客户。然后您在第 10 天删除了该列表。在这种情况下,您需要支付 10 天的 ECO 缓存存储费用。
ECO 的限制¶
Egress Cost Optimizer 需要增量数据摄取才能充分利用云缓存。
Egress Cost Optimizer 仅将云缓存用于通过自动履行进行的刷新。
Egress Cost Optimizer 仅在同一数据库中所有列表的整体出口成本得到优化时,才会使用云缓存。优化器算法在数据库级别(而非表级别)衡量列表的大小。