A virtual warehouse, often referred to simply as a “warehouse”, is a cluster of compute resources in Snowflake. A virtual warehouse is available in two types:
A warehouse provides the required resources, such as CPU, memory, and temporary storage, to perform the following operations in a Snowflake session:
Executing SQL SELECT statements that require compute resources (e.g. retrieving rows from tables and views).
Performing DML operations, such as:
Loading data into tables (COPY INTO <table>).
Unloading data from tables (COPY INTO <location>).
To perform these operations, a warehouse must be running and in use for the session. While a warehouse is running, it consumes Snowflake credits.
- Overview of Warehouses
Warehouses are required for queries, as well as all DML operations, including loading data into tables. In addition to being defined by its type as either Standard or Snowpark-optimized, a warehouse is defined by its size, as well as the other properties that can be set to help control and automate warehouse activity.
- Snowpark-optimized Warehouses
Snowpark workloads can be run on both Standard and Snowpark-optimized warehouses. Snowpark-optimized warehouses are recommended for workloads that have large memory requirements such as ML training use cases
- Warehouse Considerations
Best practices and general guidelines for using virtual warehouses in Snowflake to process queries
- Multi-cluster Warehouses
Multi-cluster warehouses enable you to scale compute resources to manage your user and query concurrency needs as they change, such as during peak and off hours.
- Working with Warehouses
Learn how to create, stop, start and otherwise manage Snowflake warehouses.
- Using the Query Acceleration Service
The query acceleration service can accelerate parts of the query workload in a warehouse. When enabled for a warehouse, query acceleration can improve overall warehouse performance by reducing the impact of outlier queries (i.e. queries which use more resources then typical queries).
- Monitoring Warehouse Load
Warehouse query load measures the average number of queries that were running or queued within a specific interval.