首页 > 解决方案 > 设置初始雪花环境的最佳实践 - 多个 URL

问题描述

我想知道其他人如何设置他们的初始雪花环境,考虑到 DevOps 和代码部署以及他们这样做的经验。人们是使用多个帐户/URL 来简化 DevOps 和部署,还是使用一个帐户构建单独的 DEV、TEST 和 PROD 数据库?例如:

开发= http://mydevaccount.east-us-2.azure.snowflakecomputing.com

测试= http://mytestaccount.east-us-2.azure.snowflakecomputing.com

产品= http://myprodaccount.east-us-2.azure.snowflakecomputing.com

你为什么或为什么不这样做?

过去,我在一个帐户下设置了环境,例如:

单一环境= http://mysnowflakeaccount.east-us-2.azure.snowflakecomputing.com

标签: architectureenvironmentsnowflake-cloud-data-platform

解决方案


有趣的是,您将单独的帐户称为使 DevOps 在您的问题中更容易。根据我的经验,将所有内容都放在一个帐户中会更容易,这就是原因。如果您在 RBAC 模型中使用良好的结构,那么在隔离这些环境方面没有区别(假设您不希望为不同的环境设置单独的 IP 白名单,在这种情况下,这种对话是没有意义的)。同时,如果您确保您的 DevOps、ETL 等脚本都仅引用模式(没有数据库引用),那么迁移 DDL、DML 等就像在单独的帐户中一样容易。同时,Snowflake 的最佳功能之一是适用于您的测试生命周期的零拷贝克隆。这仅在单个帐户中可用。如果您使用单独的帐户,您将需要将数据从一个环境复制到下一个环境(将存储成本翻倍或增加三倍,以及大量的时间消耗和信用消耗)。零拷贝克隆允许您将数据近乎即时地快照到不同的环境。

根据我与许多 Snowflake 客户的经验,单个帐户是最常见的,但也有使用多个帐户的客户。这真的取决于对你来说什么是重要的。


推荐阅读