BigQuery Pricing Explained: Usage + Costs (Full Breakdown)

Ethan
CEO, Portable

Google BigQuery is one of the most well-known data warehouses on the market.

But while its serverless structure makes it relatively easy to use, its pricing isn't as straightforward as most of us would like.

If you're deciding whether or not to go with BigQuery, you'll need to know if it fits your budget.

Today, we'll break down BigQuery pricing: how it's structured, what factors matter most, and what you can expect to pay.

About BigQuery

Google BigQuery is a fully managed, petabyte-scale data warehouse that's part of the Google Cloud Platform (GCP). It features column-oriented databases with a serverless structure that handles nearly all of the overhead for you.

BigQuery accepts data types like Avro, CSV, and JSON among others, and supports Google Standard SQL. Its big data computing power scales from just a few gigabytes to petabyte-size datasets using massively parallel processing (MPP). BigQuery has built-in features for machine learning, real-time streaming data ingestion, geospatial analysis, and business intelligence.

Plus, BigQuery integrates with other tools in the Google Cloud Platform like Looker Studio (formerly Google Data Studio). And like many other data warehouses, BigQuery decouples its storage and compute layers, meaning you only pay for what you need.

BigQuery pricing factors

The major difference between BigQuery and other managed data warehouses like Snowflake and Redshift is that BigQuery is serverless.

Instead of managing nodes and clusters, BigQuery handles all of this for you. You just pay for the virtual CPU slots BigQuery decides each query needs.

This is a tradeoff: there's less granular control but also less administrative work and a much simpler pricing model.

BigQuery uses on-demand and flat-rate pricing. We'll explain both in a later section, but in general the prices we'll share here are for on-demand. BigQuery costs are split between query, storage, and any extra features you want.

Analysis pricing

Chances are, most of your BigQuery charges will come from the analysis you run. This includes costs for SQL queries, user-defined functions, and statements in data manipulation language (DML) and data definition language (DDL).

BigQuery's serverless data structure means that you don't need to choose which virtual warehouses, nodes, or clusters you want to use. Those choices are all made behind the scenes and query pricing is only based on your usage.

On-demand queries

With on-demand query processing, you'll pay based on the amount of data you analyze. On-demand users have up to 2,000 slots per project, with occasional bursts beyond this for faster speed. At rare times with high demand, the number of slots will dip below this number.

You're not charged for queries that run errors or queries loaded from caches. And while the exact price depends on your region, most US customers can expect to pay around $5-7 per terabyte.

Flat-rate queries

The flat-rate model gives users a bit more control over how processing power is allocated. Instead of paying by the terabyte, query costs are based on the number of reserved "slots" (units of virtual computing capacity) by year, month, or minute. You can then allocate these slots across your projects.

You can reverse slots in increments of 100, with a minimum commitment of 100 slots. The exact price depends on your region and commitment, but monthly charges for 100 slots range from $2,000 (for year-long commitments) to $4,000 (for 60-second flex slots).

Storage costs

Up next is cloud storage. BigQuery uses four different pricing models for storage costs. Each table or table partition is billed according to its appropriate category.

First, BigQuery storage is either logical or physical. Logical data is uncompressed while physical is compressed.

And that data will be stored either as active or long-term storage. Active storage is for data that's been modified within the last 90 days. After 90 days have passed since the last edit, it's considered long-term storage.

This 90-day period will restart at zero after any modification, which includes loading, copying, writing results, streaming, or using DML or DDL. All other functions including querying or exporting aren't counted as modifications.

The first 10 gigabytes of data storage is free each month. After that, you can expect to pay the following prices. Keep in mind exact pricing depends on your region.

TypeLogicalPhysical
Active$0.023-0.028/GB/month$0.04-0.05/GB/month
Long-term$0.016-0.019/GB/month$0.02-0.025/GB/month

Streaming data costs

One of BigQuery's unique strengths is its functionality for workloads with streaming data. This is ideal for use cases such as loading data into a dashboard that needs to be  accurate in real-time.

You can export streaming data directly from your data source into BigQuery through an API call. The data pipeline will process one row at a time, and BigQuery will analyze it in real-time.

Streaming inserts are more expensive than standard data loading (which is free) and even more expensive than regular storage pricing. Generally speaking, US customers will pay around $0.05 per gigabyte of streaming data.

Other features

BigQuery has additional features, each with its own pricing model. Here are some of the most common.

Data Transfer Service

This tool transfers data into BigQuery on an automated schedule. It has no charges for importing data from most Google products, Amazon S3, Amazon Redshift, or Teradata, though third-party charges and BigQuery limits still apply.

BigQuery ML

To use BigQuery's built-in machine learning features, you'll pay per terabyte of model creation, plus Vertex AI training costs. The exact price depends on your region and type of model created and the amount of training needed.

BigQuery Omni

Omni lets you analyze data stored across BigQuery, Amazon Web Services, and Microsoft Azure without leaving your BigQuery dashboard. Omni offers a flat-rate pricing model based on AWS and Azure warehouses, ranging from around $2,000/month (for annual commitments) to around $4,000 (for flex slots) per 100 slots.

BI Engine

This tool accelerates SQL queries by caching frequently used data. It charges per GiB hour for each project with reserved capacity. Pricing depends on region, but US customers can expect to pay around $0.04-0.06 per GB per hour. Organizations with flat-rate pricing can also receive BI engine credits based on their reserved slots.

BigQuery purchase plans

Now that you know what kind of services you'll need---whether running queries, storing data, or using additional BigQuery features---let's look at the specific pricing models.

Region

BigQuery pricing varies depending on your region. But you shouldn't decide based on what's cheapest. Instead, ensure you're following any regulatory requirements, then look for a region closest to your end users for better latency.

For data querying, BigQuery US regions are:

  • Oregon (us-west1)

  • Los Angeles (us-west2)

  • Salt Lake City (us-west3)

  • Las Vegas (us-west4)

  • South Carolina (us-east1)

  • Northern Virginia (us-east4)

  • Iowa (us-central1)

And for data storage, BigQuery offers two additional regions in addition to those listed above:

  • Columbus (us-east5)

  • Dallas (us-south1)

Payment models

__BigQuery has two pricing models: on-demand and flat-rate. __

Unlike many data warehouses, BigQuery lets you use both in the same organization.

__On-demand pricing charges for the number of bytes read. __

It's based on consumption, so you only pay for what you use. BigQuery gives you a free terabyte each month. The exact price varies by region, but most US customers should expect to pay around $5-7 per additional terabyte.

__Flat-rate pricing charges for the number of slots used. __

It's based on ongoing capacity, like compute bandwidth you pay for whether you're using it or not. There's a 100-slot minimum, and you can buy more slots in increments of 100. The longer your commitment, the bigger the discount you'll see in your monthly cost.

The flat-rate model has three different commitment levels:

  • Flex Slots. Your commitment on this plan is only for an initial 60 seconds. Expect to pay around $4-$5.50 per hour or $3,000-$4,000/month for 100 slots.

  • Monthly. You commit to 30 days. Expect to pay around $2,000-$2,7000/month for 100 slots.

  • Annual. You commit to 365 days. Expect to pay around $1,700-$2,300/month for 100 slots.

The flat-rate model also lets you allocate your BigQuery slots to different projects.

  • Reservations let you divide your committed slots into separate parts.

  • Assignments let you choose how slots in a Reservation should be divided amongst one or more Projects.

  • Projects without any Assignments will default to the on-demand pricing model.

BigQuery free tier

BigQuery has generous free limits for many services. If your data warehouse needs are small enough, you can conceivably run BigQuery at zero cost.

The Google Cloud Free Tier includes 10 GB of data storage and 1 TB of data query processing for free each month.

Overages or other BigQuery features will be charged at the prices we've outlined.

How to estimate your total BigQuery cost

There are a few ways to estimate the total cost of using BigQuery.

The easiest is to use the official Google Cloud pricing calculator. You can include all Google Cloud tools in the pricing calculator and get an estimate of the total GCP cost for your needs.

Another method that works on the individual query level is the Query Validator tool built into BigQuery's interface. Before running the query, it will estimate how much data will be processed. It's the easiest way to pinpoint queries that will consume more compute power than they should.

How to optimize BigQuery costs

BigQuery's serverless architecture means compute capacity is optimized for you. But there are a few steps you can take to reduce your overall BigQuery cost.

Set billing limits

You can cap the maximum bytes billed, which will reject queries that exceed the number you've set. It's a failsafe to catch mistakes or poorly written queries.

Partition tables when possible

Partitioned tables are an easy way to cut down on costs since they let you query subsections instead of entire tables. You can partition using ingestion time, date, or timestamp columns.

Don't edit or store data unnecessarily

Editing data that's been untouched for 90 days automatically increases its storage price. And storing data you don't need is an extra cost you can do without.

Load instead of streaming it

As we explained earlier, streaming data is expensive, especially compared to free batch loading. Switching streaming data processing to batch processing can make a big difference.

Analyze with the query validator

BigQuery's built-in Query Validator tool will estimate the cost of each query before you run it. Small changes in SQL selection queries can have a big impact on your total costs.

BigQuery Pricing: The Bottom Line

BigQuery is a popular data warehouse that uses a serverless architecture to make it easy to query data without administrative overhead. It integrates with other Google tools to analyze, visualize, and store data in the cloud. But you must under Google BigQuery pricing to decide if it's the right choice for your organization.

But a data warehouse isn't all you need for an effective data team. You'll also need an ETL connector to extract, transform, and load data from your apps into BigQuery. The right tool will save you time, so your team can focus on what it does best---analyzing data, not moving it.

Looking for the best BigQuery ETL tool? Get started with Portable.