Snowflake cloud data platform 关于降低雪花成本的思考

Snowflake cloud data platform 关于降低雪花成本的思考,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,第一部分 根据雪花的定价政策,我们将根据使用情况付费,如果我们不使用资源,我们将不收费。这一点很清楚。但我试图理解,如果我们放弃未使用或很少使用的仓库,是否有机会降低成本?不再使用的用户和角色?我希望在降低云服务成本方面节省一些成本 第二部分 哪种方法最具成本效益 1为在特定时间使用仓库的每个团队分配单独的仓库 或 2为所有客户分配单个仓库,并密切监控仓库负载,这样,如果我们注意到仓库上的排队负载,则选择扩展选项多集群+S 请建议最好的方法,以便我们能够降低总体成本 这里只有两件事情,主要是磁盘

第一部分 根据雪花的定价政策,我们将根据使用情况付费,如果我们不使用资源,我们将不收费。这一点很清楚。但我试图理解,如果我们放弃未使用或很少使用的仓库,是否有机会降低成本?不再使用的用户和角色?我希望在降低云服务成本方面节省一些成本

第二部分 哪种方法最具成本效益

1为在特定时间使用仓库的每个团队分配单独的仓库 或 2为所有客户分配单个仓库,并密切监控仓库负载,这样,如果我们注意到仓库上的排队负载,则选择扩展选项多集群+S

请建议最好的方法,以便我们能够降低总体成本

这里只有两件事情,主要是磁盘和cpu的费用,还有一些次要的事情,比如编译时间和区域间IO的费用。但用户、仓库和角色最终只是访问控制列表,用于控制cpu和磁盘的使用

在每秒计费之前,我们发现为两个团队使用一个仓库意味着更少的CPU计费浪费,在某种程度上,这几乎是最小60秒计费的情况,但我们有一个共享的x-small,大多数团队都使用它,然后启动更大的仓库来运行一次性负载,然后关闭或使用自动缩放集群来处理正常负载,我们还使用cron作业来限制最大大小,以便在非高峰时段我们故意增加总负载的延迟,将支出预算改为高峰时段。与总是运行的集群相比,我们的dev实例是个位数的百分比,因此1或2个仓库是一个舍入错误

我们发现降低成本最有价值的方法是查看账单,看看有什么东西比我们预期的更高,然后我们进行实验,看看是否有成本更低的方法来达到相同的最终目标。无论是我们插入到多个不同形状的表中,还是查找执行时间较长的查询,或者修剪了大量可能导致第一点的行。。如果你想省钱,你必须仔细考虑如何花钱,并做出权衡。

第一部分

多仓库的存在不会产生任何成本,只有将其作为计算的一部分使用时,成本才会产生。但是,删除未使用的对象肯定会减轻操作工作量。另外,如果用户存在并且没有被使用,它应该在您的安全审计范围内,最好禁用用户而不是删除用户。在删除任何用户/角色之前,验证所有下游应用程序ETL作业/BI报告(如果有)

云服务成本是完全不同的球赛,它遵循10%的规则。当云服务使用量超过当天仓库使用量的10%时,需要支付此金额

第二部分

Snowflake始终建议根据您的活动创建仓库。请不要创建仓库来隔离团队/用户组。为此创建用户和角色

我们观察到的

在开发过程中,只保留一个虚拟仓库,直到真正的需求弹出项目团队分离以进行成本分摊或预算编制或信用评估,才需要创建多个仓库

即使对于产品活动,明智的分离也是理想的,对于ETL负载/BI报告/数据分析团队也是如此

谢谢


Palash Chatterjee

在我看来,丢弃未使用的物品以保持一切清洁始终是一个好主意