- Why Change?
Discover the power of cloud cost intelligence.
Give engineering a cloud cost coach.
Learn more about CloudZero's pricing.
Request a demo to see CloudZero in action.
Learn more about CloudZero and who we are.
Got questions? We have answers.
Speak with our Cloud Cost Analysts and get the answers you need.Get in touch
How SeatGeek Decoded Its AWS Bill and Measured Cost Per CustomerRead customer story
Enable engineering to make cost-aware development decisions.
Give finance the context they need to make informed decisions.
Decentralize cloud cost and mature your FinOps program.
Discover the best cloud cost optimization content in the industry.
Browse helpful webinars, ebooks, and other useful resources.
Learn how we’ve helped happy customers like SeatGeek, Drift, Remitly, and more.
5 Tactical Ways To Align Engineering And Finance On Cloud SpendRead blog post
Trying to choose the best data warehouse solution for your business? Here’s a comparison of Snowflake versus Redshift.
Data is a key business intelligence tool. Successful businesses rely on data to make decisions. And every business needs a secure destination for storing collected data for later analysis. Cloud-based data warehouses are increasingly becoming the go-to destination.
Redshift and Snowflake are two of the big names in this space and they provide similar services. They are big data analytics databases that can read and analyze huge amounts of data. They also have similar SQL operations and performance characteristics, with some caveats.
In this guide, we’ll cover Snowflake versus Redshift, the differences, and the best use cases for both platforms.
Amazon Redshift is a cloud-based data warehouse product that is part of Amazon Web Services (AWS). Redshift allows you to query and combine exabytes of structured and semi-structured data across your data warehouse, operational database, and data lake using standard SQL.
The product is deeply integrated with the AWS platform, so you can, for example, easily save the results of your queries back to your S3 data lake using open formats.
Like Redshift, Snowflake is a cloud computing-based data warehouse that offers flexible and scalable storage provided as a service. While Snowflake is a completely independent service, it can be used with AWS, Azure, or Google Cloud. It can also connect to and use some AWS services.
For example, you might connect Snowflake to S3 in AWS to ingest data. Your data can start out in AWS in S3 buckets, but you can bring them into Snowflake to run the queries. However, Snowflake is an independent company that offers competitive, enterprise-level data warehouse services.
Although both Redshift and Snowflake offer similar capabilities, there are differences in their pricing models, costs, maintenance, and other areas. These differences are discussed below.
One of the primary differences between both platforms is the pricing structure.
Snowflake uses a time-based model and you're charged based on usage, which is equivalent to the time that queries are executed. If a query takes two minutes to be executed, you are charged for those minutes, depending on the particular compute resources that were targeted.
For Redshift, on the other hand, you pay per instance/clusters or for a particular amount of capacity. That is, you specify the amount of compute you need and pay a flat fee whether or not you use it.
It’s important to note here that although AWS offers pay-as-you-go and on-demand pricing for Redshift, the critical difference is in how responsive the clusters are to change. While technically you can pause or resume a Redshift cluster and you don't pay for the compute time while it is paused, this operation takes about 15 minutes to complete. That only makes it practical for intermittent-use clusters, like a development cluster that is shut down for the weekend.
Snowflake warehouses, on the other hand, typically suspend and resume in milliseconds. They can be configured to automatically suspend after a short idle time (e.g. 1-2 minutes) and automatically resume as soon as they are targeted with a query. This makes Snowflake far more practical to only pay for exactly what you use.
Overall, Snowflake has more flexible pricing compared to AWS Redshift. Snowflake warehouses are organized in units of compute and you can use several of them at different levels, for example, from small to 4xlarge.
When you create a Snowflake session and want to run some queries, you can pick which warehouses to create and you don’t pay for those until you use them. While extra small warehouses are very cheap, the queries take longer to execute. If you need maximum power, you can pick up 4xlarge warehouses which execute queries faster, and create new ones instantly. This allows you to be very flexible and respond quickly to demand.
At CloudZero, we use Snowflake as our data warehouse solution, one reason being the flexibility in pricing. For example, we had a situation where Snowflake allowed us to quickly respond to the demand. We were onboarding a new customer who had an unusually large amount of data; as a result, a lot of our big queries were timing out.
In a matter of seconds, we were able to take the warehouse that powers the front-end of our application and spin it up to four times its original capacity. We absorbed the costs for the next few days before implementing optimization strategies to bring the cost down. So, Snowflake’s flexibility allowed us to respond very quickly to the customer’s needs.
In Redshift, your cost stays flat whether you run big or small queries, but performance may suffer if you consistently run big queries. The more load you have, the slower the system may become.
With Snowflake, you pay more as you increase your workload, but performance remains consistent.
Suppose your business has two very different workloads. Say you have an ingest workload that runs a few times a day and needs a lot of compute. But the ingest workload only runs for an hour before it spins down and the exit happens two to three times per day.
Then you have another workload that is responsive to users and powers your website and application dashboard — that workload needs to be fast and available at all times.
If you use Redshift for both workloads, you may discover that, when the ingest workload runs, it slows down your website access because those are all being targeted to the same giant cluster.
In Snowflake, however, your data and compute are totally separate, so your data can be touched from these different warehouses. This means you can have big warehouses that run some of the time for your ingest workloads, and other warehouses for your applications.
If responding quickly to demand at the same performance level is a key requirement for your business, then Snowflake is a better choice. However, if you want consistent costs and do not mind slower performance at peak times, then Redshift may be right for you.
While you can scale a Redshift cluster up or down, it could take up to an hour. In Snowflake, you can do that in seconds. You can also scale different workloads at different tiers in Snowflake, whereas with Redshift, it’s all or nothing — you either scale up or scale down the whole cluster.
Snowflake is operated as a service. You don’t control any hardware. All you need to do is connect to the service, set up your data, and run your queries. With Redshift, you have to manage specific servers even though the service is virtual. Overall, there’s more management involved with Redshift than Snowflake.
If you have access to experienced system engineers who can configure Redshift to suit your use cases, then this might not be a big issue. However, if you want a more hands-off solution, then Snowflake is the better choice.
Redshift and Snowflake are comparable in terms of security and both offer two-factor authentication. However, some security features are only available on specific Snowflake editions. For example, while always-on enterprise-grade encryption is available at the lowest tier (Standard), PCI compliance is only available starting at the third tier (Business Critical).
In Redshift, you can leverage the internal identity and access management (IAM) roles in AWS directly because Redshift is a part of AWS. There are also more options within Redshift for establishing a secure connection. However, both have similar security capabilities.
So, which one is more expensive to use? The answer: It depends on your workloads.
If you were to get the equivalent compute power of Redshift in Snowflake, but you leave the Snowflake warehouses running 24/7, then Snowflake would be more expensive than Redshift. The advantage of Snowflake over Redshift, however, is that you don’t pay for resources when they are not in use.
With Snowflake, you pay for what you spend and have much more flexibility in how you choose your compute. This means Snowflake can be cheaper for particular workloads. The flip side is that Snowflake costs can be more difficult to manage.
Here are two key points to consider:
Irrespective of the data warehouse solution you use, it’s important to keep costs under control. You need to ensure you’re getting the best value for every dollar spent with either service.
CloudZero is a cost intelligence platform that can ingest billing data for both AWS and Snowflake.
Although Snowflake is totally independent and the billing data is distinct from your AWS bill, CloudZero has the capability to bring in both your AWS and Snowflake costs. These costs are treated equivalently once they are brought into the CloudZero ecosystem, and all CloudZero features are available for cost data from both platforms. These include anomaly detection, alerts, and analytics.
The bottom line: You get a solid tool for monitoring all your costs over time.
Keeping track of cloud costs at a granular level is also important because it allows you to understand costs in the context of your business.
For example, while it’s great to know the cost of a specific Snowflake warehouse, knowing which customers cost your business the most is helps translate cloud cost data into actionable insight. CloudZero adds the additional context you need around that cost.
With CloudZero, you can monitor cost per customer and figure out which customer segments are using more Snowflake resources. You can tell whether a dark ingest process is consuming the most resources or if it’s a specific website or some other service — and you can see how these costs change over time.
CloudZero provides more intelligence around Snowflake or Redshift costs so you have a better understanding of what’s being used — and if you’re getting the most value per dollar spent.