Snowflake Auto-Scaling and Multi-Cluster Warehouses

Snowflake provides two different ways to add compute capacity: automatic resizing of a warehouse and multiple clusters in one warehouse. They address different limits.

Automatic resizing

Automatic resizing changes the size of a warehouse while it runs. A larger size provides more CPU, memory, and local storage to each query. The credit rate rises with the size, so a resize can reduce runtime without reducing credits. The useful measure is elapsed time and credits together.

Automatic resizing suits workloads whose resource demand changes over time. It does not create separate execution lanes for independent queries. Queries still share the resources of the current cluster.

Multi-cluster warehouses

A multi-cluster warehouse runs more than one cluster of the same size. Snowflake can add clusters when concurrent queries would otherwise queue and remove them as demand falls. Each additional running cluster consumes credits at the warehouse's size rate.

Multi-cluster warehouses address concurrency. They do not make one query use more CPU or memory, and they do not understand the dependency graph of a dbt job. A second cluster can therefore reduce queueing without improving a query that is limited by its own execution plan.

Choosing between them

Use automatic resizing when individual queries need more resources. Use multiple clusters when independent queries wait for capacity. Some workloads need both. Compare queue time, execution time, cluster count, and credits before and after a change.

Snowflake documents warehouse scaling in its warehouse overview and multi-cluster warehouse references.