Snowflake pricing is not straightforward as other cloud providers. In this post we will talk about many aspects of Snowflake pricing that one should be aware of before going ahead with the implementation.
Snowflake pricing depends on how the following three services are being utilize by the user –
- Virtual Warehouses (compute)
- Data Storage
- Cloud Services
How are Credits Charge for Warehouses?
Credit charges are calculated based on:
- Cluster size or warehouse size
- The number of clusters (if using multi-cluster warehouses).
- The length of time each server in each cluster runs.
- Edition of your Snowflake w.r.t region
Consider the scenario:
- where one of the query takes around 19.42 sec to complete
- Run on Medium Warehouse, cost .0011 per sec.
- Edition used to run the query : Business $3.
- Total price : Time taken by query * Price Per Edition * Credits/Sec = .064086
Credits are billed per-second, with a 60-second (i.e. 1-minute) minimum:
- Each time a warehouse starts or resize to a larger size, the warehouse is billed for 1 minute’s worth of usage based on the hourly rate shown above.
After 1 minute, all subsequent billing is per-second
select warehouse_name,
sum(credits_used_cloud_services) credits_used_cloud_services,
sum(credits_used_compute) credits_used_compute,
sum(credits_used) credits_used
from warehouse_metering_history
where true
and start_time >= timestampadd(day, -10, current_timestamp)
group by 1
order by 2 desc
limit 10;
No charge for idle compute time
All queries run automatically from the data warehouse from which a query is launch. What’s cool about Snowflake is that it allows you to specify a warehouse to shift into suspend mode if no queries are actively running. Once suspend, charges are also suspend for idle compute time (Figure 1).
For Data storage and Cloud Service usage, Please Click here.