Snowflake has become a popular choice for enterprise data analytics because its platform enables data processing and analytic solutions that are fast, easy to use, and flexible.
In the Snowflake data platform, “virtual warehouses” are a key concept, roughly analogous to clusters in Kubernetes or virtual machines on AWS Elastic Compute Cloud (EC2).
The key to how Snowflake works is its unique Structured Query Language (SQL) query engine, which is powered by a cloud-based architecture that separates storage and compute. The use of virtual warehouses allows you to customize the power allocated in the cloud to Snowflake’s SQL query engine.
Each individual warehouse can be thought of as a compute engine, which allows you to run SQL statements with a given allocation of computing resources. Virtual warehouses enable Snowflake to analyze big data sets while controlling costs. Let’s look at how they work.
What Are Warehouses in Snowflake?
A Snowflake warehouse provides the CPU, memory, and virtual compute resources necessary to perform data analytics queries during a session using Snowflake’s query engine.
“A virtual warehouse, often referred to simply as a ‘warehouse,’ is a cluster of compute resources in Snowflake.” –Snowflake Docs
Snowflake’s warehouses come in 10 sizes, from X-Small to 6X-Large, where the warehouse’s size specifies the amount of computational resources available to that virtual computing cluster. An X-Small warehouse might take all day to process 1 billion rows of data, while a 2X-Large warehouse could finish the same job in a few hours.
To perform any operations on your database in Snowflake, a virtual warehouse must be running during your session. While your warehouse is running, it will consume Snowflake credits, which is how you pay for processing power inside Snowflake.
To put it another way, Snowflake credits are the currency that you use to pay for what you’re trying to accomplish in Snowflake. The more computing resources you need for your database operations, the bigger virtual warehouse you will need in Snowflake, and the more it will cost.
Once you have your company’s data set up in Snowflake warehouses, you’re almost ready to build in-product analytics for your customers, such as customer insights or automated metric reporting. Typically, you’ll need to do some additional data engineering in order to connect Snowflake to your data app, but we created Propel to help developers build in-product analytics in minutes, not months.
Our data analytics platform lets you build data apps on top of Snowflake data via GraphQL APIs – so we’re the perfect fit if you’re using Snowflake as a data warehouse. Please sign up for our email newsletter, follow us on Twitter @propeldatacloud, or join our waiting list to stay in touch.