6 min read

Cloud data warehouses: Snowflake vs BigQuery. What are the differences between the pricing models?

Companies planning to process data in the cloud face the difficulty of choosing the right data warehouse. Choosing the right solution is one of the most important decisions at the early stage of a project, because the project's cost-effectiveness depends on it. Today, I would like to focus on comparing the pricing models of one of the two leading solutions on the market: Snowflake and BigQuery.

Cloud data warehouses like BigQuery and Snowflake have become extremely popular in recent years. Their low cost and fully managed services make it easy for businesses to get started and scale their data analysis efforts as needed. However, the pricing models for these services can be complicated, with a lot of factors affecting cost.

BigQuery pricing model

In BigQuery, you pay for each of the TBs of storage and for the computation power depending on which pricing model you've chosen. The computation layer is based on the "slots" model. A slot is a unit of computational capacity that BigQuery uses to process and execute queries. Slots are pooled across all regions, so you can run multiple queries in parallel and increase your utilization. As a result, you can scale up or down without providing any capacity in advance. However, the number of slots you use determines the computation cost of your query, so the number of parallel queries depends on the available slots.


In BigQuery, you can choose one of a few pricing models:

  • On-demand mode: the more TBs the query scans, the higher cost will be. You use 2000 shared slots, and you are billed for the every TB of scanned data.

  • Flat-rate mode: you purchase slots, which are virtual CPUs. Slot reservation costs $2000 per month per 100 slots. You pay a monthly fee for the unlimited possibility of running queries. There is no charge for scanning data.

  • Flex-slots mode: you purchase slots for short durations and are only billed for the time used to deploy the Flex Slots, so you pay for what you consume without a monthly commitment.

    BI engine: BI Engine is a fast, in-memory analysis service that integrates with BigQuery. By using BI Engine, you can analyze the data stored in BigQuery with sub-second query response time served from the cache, and you are billed per 1 GB/h of data stored in the memory.


Without knowing what query you're running or how complex your tables are, it's impossible to say which pricing model is the best option for you. In most cases, we should consider starting with on-demand mode and switching to flat-rate or flex-slots mode as the cost optimization because sometimes it’s hard to estimate how much data the queries will process.  If you would like to estimate the costs of using BigQuery in detail in your organization, I encourage you to use the official calculator provided by GCP.

Snowflake pricing model

Snowflake makes it easy to set up multiple virtual warehouses for different use cases. It allows you to decouple your data and manage your resources and costs independently for each use case.


Snowflake's cloud-built architecture is designed for data-intensive computing at any scale. It gives you the flexibility to adjust the computing power for different business cases

So, let’s take a look at the Snowflake pricing model in detail:

  • You pay per TB of data stored in Snowflake.
  • Snowflake expresses the cost of running a virtual warehouse in credits. The price of 1 credit depends on the Snowflake region and selected Snowflake version - Standard/Enterprise/Business Critical.
  • Ingress data transfer is free, but you’ll pay for egress data.

The virtual warehouse concept allows you to resize the computing resources on-demand to handle dynamically changing workloads without worrying about locking into a specific amount of computing resources. Therefore you can start small and pay as you grow your usage - there are no upfront commitments.

For example, consider a company that uses Snowflake for various data science tasks and business intelligence (BI) reporting. The company might set up two separate clusters — one cluster for analytics workloads and another cluster for BI reporting workloads — allowing the company to manage the capacity and costs separately for each cluster.

I hope this blog has cleared up one of the common questions about the Snowflake and BigQuery pricing models. The choice between Snowflake and BigQuery will depend on the organization's specific needs and usage patterns. Therefore, it is crucial to carefully evaluate the costs and capabilities of each platform before making a decision.

This blog post was prepared as a supplement to the ebook: “Power Up Machine Learning Process. Build Feature Stores Faster - an Introduction to Vertex AI, Snowflake and dbt Cloud”.

Get a free step-by-step guide covering all you need to know about Feature Store, including:

  • MLOps, MLOps platforms and feature stores
  • Examples of MLOps workflows
  • Designing and building a feature store with VertexAI, Snowflake and dbt
  • Using Terraform to set up and maintain the infrastructure


Cloud Costs
19 January 2023

Want more? Check our articles

dynamodb aws jedraszewski getindata big data blog

Amazon DynamoDB - single table design

DynamoDB is a fully-managed NoSQL key-value database which delivers single-digit performance at any scale. However, to achieve this kind of…

Read more
albert1obszar roboczy 1 100

Apache NiFi and Apache NiFi Registry on Kubernetes

Apache NiFi is a popular, big data processing engine with graphical Web UI that provides non-programmers the ability to swiftly and codelessly create…

Read more
data enrichtment flink sql using http connector flink getindata big data blog notext

Data Enrichment in Flink SQL using HTTP Connector For Flink - Part Two

In part one of this blog post series, we have presented a business use case which inspired us to create an HTTP connector for Flink SQL. The use case…

Read more
getindata cover nifi ingestion kafka poc notext

NiFi Ingestion Blog Series. PART V - It’s fast and easy, what could possibly go wrong - one year history of certain nifi flow

Apache NiFi, a big data processing engine with graphical WebUI, was created to give non-programmers the ability to swiftly and codelessly create data…

Read more
big data blog getindata data enrichment flink sql http connector

Data Enrichment in Flink SQL using HTTP Connector For Flink - Part One

HTTP Connector For Flink SQL  In our projects at GetInData, we work a lot on scaling out our client's data engineering capabilities by enabling more…

Read more
getindata blog nifi tomasz nazarewicz

NiFi Scripted Components - the missing link between scripts and fully custom stuff

Custom components As we probably know, the biggest strength of Apache Nifi is the large amount of ready-to-use components. There are, of course…

Read more

Contact us

Interested in our solutions?
Contact us!

Together, we will select the best Big Data solutions for your organization and build a project that will have a real impact on your organization.

The administrator of your personal data is GetInData Poland Sp. z o.o. with its registered seat in Warsaw (02-508), 39/20 Pulawska St. Your data is processed for the purpose of provision of electronic services in accordance with the  Terms & Conditions. For more information on personal data processing and your rights please see  Privacy Policy.

By submitting this form, you agree to our Terms & Conditions and Privacy Policy