Log in
7 ways to reduce your Snowflake costs

7 ways to reduce your Snowflake costs

Snowflake is a cloud-based data warehouse built on top of the Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP).

If you aren't keen on investing large capital upfront, Snowflake's pay-as-you-go pricing model can be attractive. Still, if you don't keep an eye on your setup, monthly bills can quickly spiral out of control. 

In this article, we'll go through the top seven ways you can reduce your Snowflake spending. But first, let's examine how Snowflake costs are calculated.

Snowflake pricing: compute, storage and data transfer costs

Snowflake's pricing depends on your usage of compute, storage and data transfer services. 

    • Compute costs are likely to constitute the largest portion of your bill and are based on how long your warehouses are running and how much compute power they're using. Warehouses come in a range of sizes, from x-small to 6X-large, with the price doubling between each tier.
  • Storage costs are typically lower than compute costs and are based on how much data you're storing across tables, clones, and regions.
  • Data transfer costs are incurred when you transfer data between Snowflake regions, or to another cloud provider. 

Now that you understand what exactly Snowflake is charging you for, you can take steps to optimize resources and reduce your spending. 

Finout's Snowflake Dashboard1. Choose the right size of your warehouses

As mentioned, the size of your Snowflake warehouse has a direct impact on your monthly bill. 

Your use case will be key in deciding whether to run large or small warehouses. In general, running heavy queries on large warehouses and light queries on small warehouses is the most cost-effective way to go.

But warehouses don't cost anything when they're turned off. This brings us to our next tip:

2. Suspend warehouses that are sitting idle

If you have virtual warehouses that are inactive, you can suspend them to make sure you're not getting charged for unused compute power. 

This feature is enabled automatically, but you can reduce the time it takes for a warehouse to shut down after executing a query. In your Snowflake app, go to Warehouses tab and set a time limit after which a warehouse will autosuspend. You can also turn on auto-resumption to resume the warehouse when it gets queried.

3. Update the query timeout default value

By default, a Snowflake statement runs for 48 hours (172800 seconds) before the system aborts it. 

This means that Snowflake will charge you for the time it took to compute a query that may have been initiated by mistake.

To change the query timeout value, update the STATEMENT_TIMEOUT_IN_SECONDS parameter.

4. Use resource monitors to track credit usage

To make sure you're staying within your Snowflake budget, you can use a resource monitor to suspend a warehouse when it reaches its credit limit. 

A great trick is to set credit thresholds at different levels. For example, you could set an alert for when 70% credit consumption is reached and then another for when 90% of the credit consumption is reached.

Additionally, if you're looking to add more credits to your Snowflake account, you can always apply for a credit card to boost your available spend.

Alternatively, you can use cloud cost management tool like Finout to see at a glance whether you're trending toward overspending or underspending (or easily set up cost alerts). 

5. Split large files to minimize processing overhead

To distribute the load across the compute resources in an active warehouse, export large files in smaller chunks using a split utility. 

This will allow Snowflake to divide the workload into parallel threads and load multiple files simultaneously, which will reduce the compute time of your virtual warehouse.

6. Create alerts for reader accounts

To share data with non-Snowflake customers, you can create reader accounts. This will let them execute queries on any data shared with them, but it's you who will bear the cost of their usage.

Keeping track of reader accounts can help you prevent unexpected costs spikes caused by active warehouses that are no longer in use. You can set resource monitors to limit credit usage for reader accounts and make sure you don't get sticker shock at the end of the month.

7. Use zero-copy cloning

This unique feature lets you create database, table and schema clones which use pointers to the live data and don't need additional storage. 

As a result, you can save on storage costs and the time it takes to configure the cloned environment. 

Note that by deleting the original table, storage fees transfer to the cloned table. Always delete both the original and cloned tables you're not using.

Cut costs without compromising performance 

We hope the tips outlined in this article will help you optimize your Snowflake costs. Here's a summary of what you can try:

  • Choose the right size of your warehouses
  • Suspend warehouses that are sitting idle
  • Update the query timeout default value
  • Use resource monitors to track credit usage
  • Split large files to minimize processing overhead
  • Create alerts for reader accounts
  • Use zero-copy cloning

All of these methods are easy to implement and revert if things don't go to plan. Just try them out and keep track of their impact on your monthly bill.


Learn More

Snowflake Cost Optimization Techniques: Part Two

4 Ways to Get Cloud Cost Anomaly Detection Right

Databricks Cost Optimization

How To Optimize Your Snowflake Costs: Part One

Best practices for Kubernetes cost management

Azure Kubernetes Service Pricing: Cost Optimization and Management

Podcast - The secret to healthy business growth

How to reduce Azure storage costs

Learn how Finout integrates with Datadog

How to evaluate FinOps tools: 6 things to consider

8 GCP cost reduction tips

The best Azure cost management tools - 2023

How to track and reduce your Azure spending

Logs Cost Optimization

How to reduce Datadog cost

How to reduce EKS costs

AWS Cost Allocation Tags: Implementation, Challenges, and Alternatives

A comprehensive guide to Kubernetes cost management tools for 2023

How to monitor Snowflake usage and spend with Datadog

A Comprehensive Guide to Choosing the Right FinOps Tools in 2023

Recommendations for AWS RDS Cost Reduction

How FinOps helps businesses enjoy the economic advantages of the cloud

Rightsizing tips and recommendations for getting your cloud costs down

Google Cloud Platform (GCP) Services and Pricing

7 ways to reduce AWS S3 spend

FinOps Essentials: Understanding cloud usage optimization

7 Ways to Improve Your Cloud ROI

AWS Recommendations for EC2 Cost Reduction

How FinOps can help cyber security vendors rein in cloud costs

Cloud Economics: Cost of Cloud Services Explained

Finout Integrates with all your usage-based tools