Snowflake’s scalable architecture, minimal latency, advanced analytics, simplified data handling, flexible pay-as-you-go model, and always-on security make the data cloud a top choice for many businesses. You can also purchase Snowflake resources on-demand or upfront.
But if you struggle to control your Snowflake costs, you’re not alone. With the help of this guide, you’ll know how to better manage your Snowflake costs.
Table Of Contents
How Much Does Snowflake Cost?
Snowflake pricing is usage-based, billed per second. You pay for the storage capacity, compute (for query processing), and data transfer you actually use.
Meanwhile, pricing for Snowflake is divided into four pricing plans, each with unique capabilities, and thus different pricing.
Additionally, you can pay for Snowflake usage on a month-to-month basis (Snowflake On-Demand). Alternatively, you can reserve capacity ahead of time (Snowflake Pre-Purchase).
Credit: Snowflake pricing plans
Let’s dive deeper …
Snowflake Costs Explained: How Snowflake Pricing Works
In practice, Snowflake charges for data storage, compute, and cloud services. These are the three components of Snowflake pricing.
This is in line with the Snowflake architecture, which consists of three major layers: data storage, compute (virtual warehouses), and cloud services like data transfer and serverless capabilities.
Snowflake pricing reflects your usage of these distinct layers. In addition, you don’t pay cash directly for Snowflake compute. Instead, you use Snowflake credits.
What are Snowflake credits?
A Snowflake credit is the unit used to measure how much billable compute (virtual warehouses) you consume. A Snowflake credit is used only when resources are active, such as when a virtual warehouse is currently running, when loading data with Snowpipe, or serverless features are in use.
Each Snowflake layer uses credits differently. Also, the credit pricing rate depends on the Snowflake edition you use: Standard, Enterprise, or Business-Critical. Each edition offers a different set of features.
You’ll notice this when we discuss Snowflake pricing at each of its architectural layers below (data storage, compute, and cloud services).
Components Of Snowflake Pricing
1. How much does Snowflake data storage cost?
The cost for Snowflake data storage is based on the daily average data volume (in bytes) you store in its system. This includes compressed or uncompressed files you stage for bulk unloading or loading, historical data you maintain for File-safe, and data you keep in database tables.
Snowflake automatically compresses to shrink and optimize all table data. It then calculates how much storage an account uses based on this compressed file size.
Also, the monthly charge for data storage in Snowflake is set at a flat rate per terabyte (TB). However, the precise cost per TB of storage is based on the factors mentioned below.
Type of account (Pre-Purchase Capacity vs On-Demand)
With the On-Demand option, you get the flexibility to use as much or as little storage capacity as you want. No commitments are necessary.
But this flexibility comes at a price because this is the most expensive way to use Snowflake data storage. For example, Snowflake On-Demand costs $40 per TB per month when you deploy the service within the AWS (US East (Northern Virginia) Region).
In contrast, the Pre-Purchase option works a lot like using Reserved Instances on AWS; you commit to spending a certain amount of storage capacity upfront to get a discount, and you use that capacity over the course of a fixed contract period.
For example, Snowflake Pre-Purchase costs $23 per TB per month when you deploy it in the US East (Northern Virginia) Region of AWS.
Region (US or EU)
Deploying your Snowflake workload in a particular region will affect how much you are charged. For example, Snowflake On-Demand in the US East (Northern Virginia) Region of AWS charges $40 per TB while it costs $46 per TB in the AWS Canada (Central) Region.
Note that data transfer fees vary by region as well. Transfers within the same region and same cloud are not charged. Data transfers to a different region but the same cloud costs between $20 per TB in the US and $140 per TB in the Asia Pacific (Sydney) Region.
Transfers to a completely different cloud provider or to the internet cost between $90 and $150 per TB. Check this out:
Credit: Snowflake data transfer charges by AWS region
Platform (Amazon Web Services (AWS), Azure, or Google Cloud Platform (GCP))
The Snowflake platform works natively on AWS, Azure, and Google Cloud Platform. However, each platform offers Snowflake features at a slightly different price. Take data transfer fees for example.
Transfers from an AWS US East (Northern Virginia) Region to the internet cost $90 per TB. In comparison, transferring data from a Microsoft Azure (East US 2 – Virginia) Region to the internet costs $87.50 per TB.
Transfers from a Google Cloud (US East 4 – N. Virginia) source to the internet costs $120-$190 per TB.
2. How much is Snowflake pricing for compute (virtual warehouses)?
A virtual warehouse contains one or more computing clusters for performing queries, loading data, and other DML operations.
Virtual warehouses use Snowflake credits as payment for the processing time they use. How many credits you use depends on the virtual warehouse’s size, running duration, and how many they are.
Warehouses are now available in ten sizes. Each size specifies the amount of computing power a warehouse can access per cluster. By expanding a warehouse to the next larger size, its computing power and credit usage doubles per full operational hour.
Check this out:
Table: Snowflake virtual warehouse sizes and credit usage per full hour of operation
Sizes 5X-Large and 6X-Large are still in preview (AWS in Ireland (EU)), so you have to contact Snowflake first before provisioning either option.
Also, note that:
- Warehouse only uses credits while running — not when suspended or idle. Snowflake does not charge for idle compute. In fact, it offers a quick start/stop feature to suspend resource usage whenever you choose or automatically with user-defined rules, such as “suspend after five minutes of inactivity”.
- Credit usage per hour directly correlates to the number of servers in a warehouse cluster.
- Snowflake bills credits per second — with a minimum requirement of 60 seconds. Meaning, starting or resuming a suspended warehouse incurs a fee of one minute’s worth of usage. Also, resizing a warehouse a size larger costs a full minute’s worth of usage. For example, resizing from Medium (four credits per hour) to Large (eight credits per hour) has an additional charge for one minute’s worth of four additional credits.
- But after a minute’s usage, all subsequent usage resumes on a per-second billing as long as your run the virtual warehouses continuously. Stopping and restarting warehouses within the first minutes leads to multiple charges because the one-minute minimum charge applies each time you restart.
There’s more. With Snowflake, performance is linear. So, doubling a warehouse’s size will usually reduce processing time for a task in half, maintaining the same cost.
Operations, such as suspending, resuming, increasing, and decreasing are nearly instantaneous, so, you can precisely match your Snowflake spending to your actual usage, never worrying about capacity planning or unexpected usage.
3. How much does Snowflake charge for cloud services?
Snowflake cloud services comprise a set of tools that support the main data storage and compute functions. The services include metadata and infrastructure management, SQL API, access control and authentication, and query parsing.
These services are, in turn, powered by compute resources, meaning cloud services consume Snowflake credits, just like virtual warehouses.
However, Snowflake only bills cloud services that exceed 10% of your daily compute resource usage. Thus, the 10% adjustment automatically applies on each day, based on that day’s credit price.
For example, if you’ve used 120 compute credits and 20 cloud services credits on a particular day, the adjustment will automatically subtract 10% off the compute credits (120 X 10% = 12) for that day. So, your billable credits will be:
Total used cloud services credits for the day (20) – adjusted amount (12) = 8 credits billed.
If your cloud services amount is less than 10% of your daily compute credits amount, Snowflake charges you based on that day’s cloud services credits.
For example, if you’ve used 100 compute credits and 8 cloud services credits, you’ll have used 8% of your compute credits in cloud services credits. In this case, Snowflake will automatically count 8 cloud services credits as the day’s cloud services usage.
So, how do you apply these Snowflake cost insights to your data cloud requirements? How do you decide between On-Demand and Pre-Purchased plans?
How To Understand And Control Your Snowflake Costs
For new users, the rule of thumb is to start out with Snowflake On-Demand for a month or two. The goal is to monitor your Snowflake usage and associated costs so you can switch to Snowflake Pre-Purchased later when you know how many resources to provision.
Pre-Purchase offers greater savings for long-term commitment vs. On-Demand’s month-to-month usage.
You can use a Snowflake resource monitor to track usage. Snowflake’s own resource monitor can be quite handy.
However, like many native resource monitoring tools, you might need a solution that’s more comprehensive, or that calculates more than just Snowflake costs.
Understand, reduce, and optimize your Snowflake spend with cloud cost intelligence
Costs also depend on whether you use managed services (Snowpipe, Tasks, Streams,) and how real-time the data is (batch vs. streaming). So, measuring exact pricing for Snowflake may still prove challenging in some circumstances.
So what should you do?
You’ll want to use a robust Snowflake cost intelligence platform, that can help you to better understand your spend and break out your costs into meaningful insights.
With CloudZero’s Cost Intelligence For Snowflake, you can:
- Get the only platform where you can analyze Snowflake costs alongside AWS spend for complete cost visibility across cloud providers.
- CloudZero’s serverless functions are also built on Snowflake, giving you unmatched speed, flexibility, and cost-effectiveness when monitoring your own Snowflake resources.
- Find out which features and products are driving your Snowflake spend.
- View Snowflake cost granularly, such as per customer, tenant, team, project, environment, etc. You can identify who, what, and why your Snowflake costs are changing, thus where to cut costs without harming specific functions.
- Get alerted to relevant cost anomalies using Slack or email to prevent overspending on Snowflake.
- Stay on top of your Snowflake costs with weekly cost summaries sent to your engineers.
Snowflake Pricing FAQs
Here are answers to some frequently asked questions about Snowflake pricing.
How much does a Snowflake credit cost?
How much a single credit costs depends on the Snowflake Edition you select (Standard Edition, Enterprise Edition, Business-Critical Edition, and Virtual Private Snowflakes Edition).
For example, while Snowflake Standard Edition costs $0.00056 per second per credit consumed, the Enterprise Edition costs $0.0011 per second.
What are the advantages of Snowflake pricing?
Benefits of the Snowflake pricing model include:
- Pay for actual usage
- Start/stop resource consumption to save costs
- Flexibility – pay month-to-month (On-Demand) or in advance (Pre-Purchased)
- Automatically scale data storage, compute, and cloud services usage up or down almost instantly based on your requirements
- No risk of overprovisioning or overbuy
- No presizing required
- Integration with advanced Snowflake cost monitoring platforms to optimize Snowflake spend
How does Snowflake billing work?
Monthly billing is based on the cost of data storage and compute resources you consume, accrued daily.
Data storage is charged per compressed terabyte per month. Compute resources use up Snowflake credits, the unit of measure for compute usage (query processing), and cloud services (supporting services like SQL API and infrastructure management) in the Snowflake environment.
Is Snowflake better than AWS Redshift?
Snowflake’s best feature is that it separates compute, data storage, and cloud services on three separate layers, enabling it to be faster, highly scalable on-demand, and cost-efficient than most data clouds.
Read our Snowflake vs. AWS Redshift guide for an in-depth comparison of the two.
Does Snowflake offer a free plan or free trial?
Yes. Snowflake offers a 30-day free trial with $400 worth of credits. Your trial ends when you finish up your credits or the trial period ends and you haven’t upgraded to a paid account. You can still log into the suspended account (to upgrade from within) but cannot use any Snowflake feature.
Does Snowflake charge for idle resources?
No. Snowflake calculates charges while resources are running. However, you’ll want to set up user-defined rules to automate resource suspension, such as “suspend after 3 minutes inactive”.
How much does Snowflake for AWS cost?
The Snowflake Data Cloud costs $0.01 per unit in AWS, according to the AWS Marketplace.
Is Snowflake worth it?
Snowflake is worth it for companies looking to reduce data cloud bottlenecks with Snowflake’s three-layered architecture and pay-as-you-go pricing model.