Snowflake vs BigQuery: A Comprehensive Comparison

Sumit Mudliar
Google BigQuery
Published in
5 min readNov 1, 2023

Snowflake and BigQuery are two of the leading cloud data warehouses on the market. Both offer a variety of features and benefits, but there are some key differences between the two platforms.

Architecture

The main difference between Snowflake and BigQuery architecture is that Snowflake uses separate storage and compute, while BigQuery is serverless.

Snowflake

Snowflake’s architecture is designed to provide elastic scalability and performance. Storage and compute are separated, so users can scale each independently. This allows users to pay for only the resources they need, and to avoid overprovisioning.

Snowflake’s storage layer is object-based, which means that data is stored in immutable files. This makes it easy to scale storage capacity up or down as needed.

Snowflake’s compute layer is based on a virtual warehouse model. Users can create and manage virtual warehouses, and scale them up or down as needed. Virtual warehouses are made up of compute resources that are allocated from a shared pool.

BigQuery

BigQuery’s architecture is designed to be simple and easy to use. Users do not need to worry about managing compute resources, as BigQuery will automatically scale resources up or down as needed.

BigQuery’s storage layer is based on a columnar format. This format is optimized for analytical workloads, and it can provide significant performance benefits over traditional row-based formats.

BigQuery’s compute layer is based on a slot-based model. Users are allocated a certain number of slots, and they can run as many queries as they want as long as they have enough slots available. Slots are automatically scaled up or down as needed.

Pricing

Snowflake

Snowflake charges based on storage and compute usage. Storage is priced at $40 per TB per month for on-demand customers and $23 per month for upfront customers. Compute is priced at $2.50 per credit per hour for on-demand customers and $1.25 per credit per hour for upfront customers.

Snowflake also offers a variety of pricing options, including reserved instances and committed use discounts. Reserved instances can provide up to a 70% discount on compute costs. Committed use discounts can provide up to a 50% discount on storage and compute costs.

BigQuery

BigQuery charges based on storage, query data processed, and streaming inserts. Storage is priced at $20 per TB per month for active storage and $10 per TB per month for inactive storage. Query data processed is priced at $5 per TB. Streaming inserts are priced at $2 per MB.

BigQuery also offers a variety of pricing options, including flat-rate pricing and committed use discounts. Flat-rate pricing allows you to pre-purchase a certain number of virtual CPUs for a monthly fee. Committed use discounts can provide up to a 50% discount on storage and query costs.

Example:

Let’s say you have a data warehouse that stores 1 TB of data and you run 100 queries per day that process 10 GB of data each.

With Snowflake, your monthly costs would be:

  • Storage: $40 per TB per month
  • Compute: $2.50 per credit per hour * 24 hours per day * 30 days per month = $1800 per month

Total cost: $1840 per month

With BigQuery, your monthly costs would be:

  • Storage: $20 per TB per month
  • Query data processed: $5 per TB * 10 GB per query * 100 queries per day * 30 days per month = $1500 per month
  • Streaming inserts: $0

Total cost: $1520 per month

As you can see, BigQuery is generally more cost-effective for workloads with high data processing requirements. However, Snowflake can be more cost-effective for workloads with high storage requirements or for workloads that need to be scaled up quickly.

It is important to note that these are just examples and your actual costs may vary depending on your specific workload. I recommend that you use the Snowflake and BigQuery pricing calculators to estimate your costs for your specific workload.

Performance

There have been a number of performance benchmarks that have compared Snowflake and BigQuery. In general, Snowflake has shown a slight edge in terms of performance. For example, in the TPC-H benchmark, Snowflake outperformed BigQuery by about 10%.

However, it is important to note that performance benchmarks can vary depending on the specific workload. For example, BigQuery may perform better than Snowflake for certain types of queries, such as complex analytical queries.

Real-world performance

In the real world, both Snowflake and BigQuery offer high performance for a variety of workloads. For example, Spotify uses BigQuery to analyze its massive dataset of music streaming data, and Airbnb uses BigQuery to analyze its booking data. Similarly, Salesforce uses Snowflake to power its Salesforce Analytics Cloud platform, and Walmart uses Snowflake to analyze its vast dataset of retail data.

Features

Snowflake and BigQuery offer a wide range of features, including:

  • Support for structured, semi-structured, and unstructured data
  • SQL support
  • ACID transactions
  • Data sharing and collaboration features
  • Data governance and security features

Multi-cloud support

Snowflake is available on all major cloud platforms, including Amazon AWS, Microsoft Azure, and Google Cloud Platform. BigQuery is only available on Google Cloud Platform.

Additional considerations

Here are some additional factors to consider when choosing between Snowflake and BigQuery:

  • Existing infrastructure: If you are already using other Google Cloud Platform services, BigQuery may be a good choice, as it integrates seamlessly with other GCP services.
  • Data gravity: If you have a lot of data stored on Amazon S3 or Microsoft Azure Blob Storage, Snowflake may be a better choice, as it can directly access data stored on these cloud storage platforms.
  • Budget: Snowflake is generally more expensive than BigQuery. However, Snowflake offers a variety of pricing options, including reserved instances and committed use discounts.

Examples of companies using BigQuery and Snowflake:

BigQuery:

  • Spotify: Spotify uses BigQuery to analyze its massive dataset of music streaming data.
  • Netflix: Netflix uses BigQuery to personalize its recommendations for users and to analyze its content performance.
  • PayPal: PayPal uses BigQuery to analyze its financial data and to detect fraud.
  • Airbnb: Airbnb uses BigQuery to analyze its booking data and to optimize its pricing.
  • Lyft: Lyft uses BigQuery to analyze its rider and driver data and to optimize its dispatch algorithm.

Snowflake:

  • Salesforce: Salesforce uses Snowflake to power its Salesforce Analytics Cloud platform.
  • Capital One: Capital One uses Snowflake to analyze its financial data and to improve its fraud detection capabilities.
  • Adobe: Adobe uses Snowflake to power its Adobe Analytics and Adobe Experience Cloud platforms.
  • Walmart: Walmart uses Snowflake to analyze its vast dataset of retail data.
  • Unilever: Unilever uses Snowflake to analyze its global consumer data and to improve its marketing campaigns.

--

--

Sumit Mudliar
Google BigQuery

Hacking life one line of code at a time! Proud hubby & dad who loves building things that matter. Always learning & growing!