Skip to content

Snowflake Warehouse Sizing - A Comprehensive Guide

Published: at 10:00 AM

In this article, we are going to discuss about Snowflake Virtual Warehouses, we will talk about the various sizes, uses and best practices. But let’s dive into understanding T-shirt sizing, cost structures, and performance factors, helping you achieve the perfect balance for your data workload and budget.

Credit Costs change from time to time, it is recommended that you review the documentation for the latest on what specific credit costings by Virtual Private Cloud (VPC).

Table of Contents

Open Table of Contents

All Things T-Shirt Size

Snowflake offers a range of performance options, running processes via server-less compute or by using Virtual Warehouses, but let’s talk about Virtual Warehouse sizes and how to best use these.

Understanding Snowflake’s warehouse sizing options is key to optimising performance and cost. Virtual warehouses in Snowflake come in 10 T-shirt sizes, ranging from Extra Small (XS) to 6X.

These sizes represent relative compute power, encompassing CPU, memory, and storage resources, without requiring users to understand the underlying cloud infrastructure, which Snowflake may modify over time.

The T-shirt sizing approach simplifies decision-making by offering relative rather than absolute metrics.

The sizes range from:

Each size increment approximately doubles the compute power of the previous size.

Key Considerations for Snowflake Warehouses

One important aspect of Snowflake’s warehouse offering is that bigger isn’t always better. For instance:

Cost and Billing Details

Credit Costs change from time to time, it is recommended that you review the documentation for the latest on what specific credit costings by Virtual Private Cloud (VPC).

Compute Power: Each T-shirt size represents a specific credit cost per hour. For example, a Snowflake XS warehouse active for one hour costs 1 Snowflake credit.

Per-Second Billing: Billing occurs in per-second increments after the first 60 seconds. The first 60 seconds are always charged fully, even if the warehouse is stopped earlier.

Tips for Optimising Warehouse Usage

Selecting the appropriate warehouse size depends on workload characteristics. From experience, I would recommend considering the below:

Experiment and Compare: Start with an Extra Small (XS) warehouse.

Evaluate Performance: Test representative queries to see if performance meets expectations.

Scale Appropriately: If queries don’t complete in an acceptable timeframe, scale up.

Complexity and Dataset Considerations

Queries with numerous predicates, projections, and joins generally require larger sizes.

Even with larger datasets, a bigger warehouse might not always be necessary.

By carefully experimenting and assessing your workload needs, you can strike the right balance between performance and cost.

Data Loading Operations

For data ingestion, smaller warehouses usually suffice. Start with using a XS warehouse, Small, or Medium for typical data loading.

Larger sizes may be needed only when ingesting hundreds or thousands of files concurrently. But unlike query execution, data ingestion performance is influenced more by the number of files than by warehouse size.

Cost Considerations

XS warehouse active for one hour costs 1 Snowflake credit.

Credit Costs change from time to time, it is recommended that you review the documentation for the latest on what specific credit costings by Virtual Private Cloud (VPC).

Cost efficiency is a cornerstone of Snowflake’s design. Virtual warehouses are billed based on:

Compute Power: Each T-shirt size represents a specific credit cost per hour. For example:

Per-Second Billing: Billing occurs in per-second increments after the first 60 seconds, with the first 60 seconds always charged fully, even if the warehouse is stopped within the 60 seconds.

What is a Snowflake Credit?

Snowflake talks about credits, but why? Credits are a different price dependant on a range of factors including, but not limited to the Cloud Provider such as AWS, Azure, or Google Cloud. As well as the type of Snowflake Edition e.g. Standard, Enterprise, or higher.

Some examples of this being:

A XS warehouse on the Standard Edition in AWS Europe (London) costs approximately $2 per credit.

A Large warehouse on the Enterprise Edition in AWS Tokyo costs $103 for three hours (24 credits).

Credit Costs change from time to time, it is recommended that you review the documentation for the latest on what specific credit costings by Virtual Private Cloud (VPC).