A virtual warehouse, often referred to simply as a “warehouse”, is a cluster of compute resources in Snowflake. A warehouse provides the required resources, such as CPU, memory, and temporary storage, to perform the following operations in a Snowflake session:
- Executing queries that require compute resources, e.g. retrieving rows from tables and views.
- Performing DML operations, such as:
- Updating rows in tables.
- Loading data into tables.
- Unloading data from tables.
To perform these operations, a warehouse must be running and in use for the session. While a warehouse is running, it is charged Snowflake credits for each hour (or fraction of an hour) that it runs.
Warehouses can be started and stopped at any time. They can also be resized at any time, even while running, to accommodate the need for more or less compute resources, based on the type of operations being performed by the warehouse.