雪花仓库的大小

时间:2020-05-17 03:37:21

标签: snowflake-cloud-data-platform

计划将雪花成本优化到现有设置。

1。禁用未使用的用户/角色,并丢弃未使用的仓库。

2。密切监视仓库并根据结果采取措施。下面是我要采用的方法来监视仓库XXXXXX。请查看并传递您的意见。

a。获取有关过去14天仓库使用的信用额的报告

选择*从 表(information_schema.warehouse_metering_history(dateadd('day',-14,current_timestamp()),current_timestamp())) 和WAREHOUSE_NAME ='XXXXXX';

-集中时间,在此期间我们看到仓库的信贷使用率很高,并记下时间框架。

-使用步骤b在一段时间内检查AVG_RUNNING,AVG_QUEUE_LOAD,AVG_QUEUE_LOAD,AVG_QUEUE_LOAD。

b。获取以下有关仓库中最近14天查询数量及其状态的报告

选择*从 表(information_schema.warehouse_load_history(date_range_start => dateadd('day',-14,current_timestamp()))) 和WAREHOUSE_NAME ='XXXXXX';

-如果在步骤a中我们注意到的时间内AVG_QUEUE_LOAD,AVG_QUEUE_PROVISION的值较高,请尝试增加仓库的规模(按比例放大)。

-如果AVG​​_BLOCKED的值较高,则尝试增加仓库集群(向外扩展)。

-如果看到AVG_QUEUE_LOAD,AVG_QUEUE_PROVISION,AVG_BLOCKED值为零或更少,请尝试减小仓库的大小。

c。获取avg_running与CREDITS_USED之比

,将cte设置为(选择date_trunc('hour',start_time)作为start_time, 结束时间,仓库名称,贷方来自 表(information_schema.warehouse_metering_history(dateadd('days',-1,current_date()),current_date())) 其中Warehouse_name ='XXXXXX')选择date_trunc('hour', a.start_time)作为开始时间,avg(AVG_RUNNING),avg(credits_used), avg(AVG_RUNNING)/ avg(credits_used)* 100 表(information_schema.warehouse_load_history(dateadd('days',-1,current_date()),current_date())) 在a.start_time = date_trunc('hour',a.start_time)上加入cte b a.warehouse_name ='XXXXXX'按1乘1的顺序分组;

-如果比率高,则不要更改仓库大小。

-如果比率低,请考虑减少仓库的大小。

1 个答案:

答案 0 :(得分:0)

我强烈建议您看一下Snowflake文档上的这篇文章:

https://docs.snowflake.com/en/user-guide/warehouses-considerations.html#scaling-up-vs-scaling-out

您正在使用的某些指标(例如排队)与是否需要横向扩展而不是向上扩展有关。大多数情况下,这也适用于avg_running。减少仓库的大小不会影响将在该仓库上执行的查询的数量,而是会影响它们执行的性能。您应该更多地研究字节溢出到本地或远程存储中的情况……以确定仓库是否对于在该服务器上执行的查询而言太小了。

这是一个棘手的话题,与那里的其他数据库有很大的不同。我建议您仔细阅读该文档,如果有必要,也许可以直接与Snowflake联系以获得一些专业服务帮助。