Everyone has heard of scaling up and scaling out compute. Have you ever heard about a term called scaling across? Before Snowflake, I never.
Scaling up and down is easy. It means moving up and down sizes for your snowflake warehouses. For example, from Small to Medium. Scaling out is when you enable multi-cluster warehouses. This is when you have a min / max count for your warehouses– you can only do this with enterprise edition (I mentioned this in my editions blog post). This is great if you need to deal with high concurrency requirements, a common one is if hundreds of users are accessing the snowflake database for reporting. Scaling up is a good idea if you are dealing with very complex logic within your queries, going up in sizes is not for meeting concurrency needs.
What about this idea of scaling across? Well, this is all about the power of spinning up multiple warehouses for different business functions regardless of the fact if you are all querying the same snowflake database using these different warehouses. Typically, you could see this as having 1 warehouse for reporting ( multi cluster perhaps), 1 warehouse for loading JSON / AVRO and another warehouse for complex transforms which may hit the same datasets, no locking conflicts, no blocking, no concurrency issues – from experience anyways.
Scaling can be done (assuming you have the right permission) via the web portal or SQL.
Under warehouses you click configure:
So to scale up, I go from x-small to small as shown below
To scale out I state the number for max clusters, here I opt for 4.
The changes are fast with no noticeable down time, very powerful.
If you want information about all your warehouses quickly then run: