Google BigQuery Pricing: How Much Does BigQuery Cost?
BigQuery allows you to focus on getting insights from your big data instead of managing your physical infrastructure. However, taking into account the vast capabilities of this data warehouse, you need to pay attention to your costs. Let’s break apart BigQuery’s pricing model and help you choose the services that meet your needs.
Table of Contents
What is Google BigQuery?
Google BigQuery is a fully-managed serverless data warehouse based on the Google Cloud Platform that allows users to store and query petabytes of data within minutes. BigQuery uses the standard SQL and has machine learning capabilities.
When we chose BigQuery as the dedicated data warehouse for Whatagraph’s data transfer feature, we knew we had to achieve similar speed and efficiency on our part.
Our goal was to help people with little or no tech knowledge like:
- Small startup teams
- Marketing agencies that handle hundreds of clients, each with their own data stacks
complete data transfers with only a few clicks.
Since no coding is needed, Whatagraph saves the time needed to load data from multiple sources to Google BigQuery.
Google BigQuery cost: two main factors
Two major factors determine your costs as an end-user — storage and analysis.
Let’s take a closer look at what each of them includes.
Google BigQuery storage costs
Storage costs are what BigQuery charges for storing your business data. There are charges for both active storage and long-term storage.
- Active storage: Tables and partitions that have been updated in the past 90 days. At the moment, BigQuery has a fixed monthly fee of $0.02 per GB of stored data.
- Long-term storage: Tables and partitions that haven’t been updated within the last 90 days. After 90 days, the storage cost drops by 50%, from $0.02 to $0.01 per GB per month.
In terms of performance, security, and availability, there are no differences between active and long-term storage.
So what does it cost to store data in BigQuery?
Storage costs depend on the total amount of data you put into BigQuery. Here’s how much space different BigQuery data types take.
BigQuery cost per 1 GB
BigQuery keeps your data in active storage for $0.02 per GB per month. So if you keep a 200GB table for one month, you’ll pay just $4.
But, with the free 10GB every month, you’’ get a total of 210GB for $4.
Long-term storage costs even less than active storage. A 200GB table will cost $2 for one month. If you update the table, it becomes active storage, and the 90-day period resets.
|Type of storage||Price||Free tier|
|Active storage||$0.02 per GB||The first 10 GB are free each month|
|Long-term storage||$0.01 per GB||The first 10 GB are free each month|
Keep in mind that the storage pricing varies by location. For example, choosing South Asia as a storage location costs $0.023, while using the US or EU costs $0.02 per GB of data.
Google BigQuery analysis costs
Analysis costs include the cost of running queries, including SQL queries, user-defined functions, and scripts.
When it comes to executing queries, BigQuery has two distinct price levels:
- On-demand pricing: You pay based on the size of each query and the number of bytes handled by each query. You’re not charged if the query fails. The first terabyte of processed query data each month is free of charge.
- Flat-rate pricing: You pay a set fee no matter how much data your queries handle. This is the best option for users who need a fixed monthly fee within a set spending limit.
You can access flat-rate query pricing by purchasing BigQuery slots — virtual CPUs that BigQuery uses to execute SQL queries.
The slot capacity you buy dictates the query processing power reserved for all your queries at any given time.
If your requests overflow your dedicated capacity, BigQuery queues individual work units and waits for slots to become available.
Slots figure both in flat-rate and on-demand pricing models and flat-rate pricing. However, the flat-rate model gives you specific control over slots and analytics capacity.
How to know how much you will pay for Google BigQuery?
Now that you know how much BigQuery charges for data storage and query costs, let’s estimate your actual expenses for those activities. Let’s begin with calculating your query and storage costs.
How to calculate Google BigQuery query costs?
To estimate costs for different use cases, you can use one of the following techniques:
- The query validator in the cloud console. It shows how many bytes the query will process.
- The -dry run option in the BigQuery command-line tool — Use the -dry run flag to estimate the number of bytes read when using the command-line tool or -dry run when working with API or client libraries.
- The Google Cloud Platform (GCP) Pricing Calculator — Google’s tool for estimating how much money you’ll spend on the resources you need.
Using the BigQuery cost calculator.
- Go to the main page of your BigQuery console
- Enter a query, and the query validator estimates how many bytes it will process
- Access the GCP Pricing Calculator.
- Choose BigQuery as your product and on-demand pricing method
- Fill in the on-screen form with all the necessary information
- Repeat the steps above and pick flat-rate pricing in the GCP calculator.
Keep in mind that the costs estimated by the methods above may differ from the actual expenses for two reasons:
- A query clause that performs data filtering, such as a WHERE, might significantly reduce the amount of data read.
- Additional or deleted data might alter the number of bytes when the actual query is performed.
How to estimate BigQuery storage and query costs?
Factors that impact your BigQuery storage and query costs are:
- Number of users
- Number of queries
- Average data usage
For example, let’s say you have a dataset that you want to move from Google Ads into BigQuery using Whatagraph.
The dataset is used by 7 users per day, each running 4 queries per day, with average data usage of 3GB per query. We’re going to calculate the cost per month, which has 30 days.
Monthly query data used = 7 × 4 × 3GB × 30 = 2,520GB = 2.5 terabytes
To calculate the BigQuery storage price, with query data of 2.5TB per month, we need the storage price, which is $20 per 1TB at the time of writing.
Multiply 2.5TB by $20, and you get the monthly storage cost.
2.5 × 20 = $50
To calculate on-demand query pricing using the same query data, the price is $5 for 1TB. So multiply 2.5TB by $5 to get the monthly cost for on-demand queries.
2.5 × 5 = $12.5
BigQuery import data costs
BigQuery has two data ingestion methods:
- You load data into one or more BigQuery tables in a single batch
- You stream one record at a time or in tiny batches.
BigQuery has two data extraction methods:
- Export data from tables to Cloud Storage in bulk.
- Stream exports of table data using the Storage Read API.
Bulk imports into BigQuery and exporting data from BigQuery don’t cost anything by default, as these tasks use a shared resource pool.
BigQuery API costs
The Storage Read API uses the on-demand pricing model, with all customers reconvening a complimentary tier of 300TB per month.
However, you’re charged per-data-read in bytes from temporary tables, as they don't belong to the 300TB free tier.
How to optimize your BigQuery costs?
If you’re on the on-demand pricing model, there are ways to cut down on the amount of data a query needs without compromising performance.
The same is true with flat-rate pricing. No matter how many flex slots you buy — you can optimize your queries and cut down on slot use.
By clustering and partitioning, you can reduce the amount of data processed by queries.
To limit the number of partitions scanned when querying clustered or partitioned tables, use a predicate filter.
This way, you execute queries on subsets of data relevant to your query and reduce the query cost.
BigQuery custom cost control
If your BigQuery account has many projects and users, you can control expenses by setting a custom quota e limit — the amount of query data users can process each day.
Custom quotas restrict the total amount of data that all users switching that project may use. You can also add custom user quotas to individual users or service accounts within a project.
Can you stream data into BigQuery free of charge?
No, you can’t. Streaming data into BigQuery comes with a fee, so you should use streaming inserts only when you need to access your data quickly. However, you can load data into BigQuery for free.
Unless you need to access your data instantly, it’s always better to load it than to stream it.
BigQuery pricing for warehousing services is not one-size-fits-all, so you can easily find the most cost-effective model.
Whether you import data from your sources using Whatagraph or using one of BigQuery’s multiple integrations, it pays to know how to optimize BigQuery Costs.
With Whatagraph, you can load your data into BigQuery and create insightful data visualizations from any data source with only a few clicks.
If you’re looking for an easy-to-use solution to connect data from various marketing sources, keep your marketing data safe, or want to visualize your BigQuery data, book a demo call and find out how Whatagraph can help.
Published on Jan 24 2023
WRITTEN BYNikola Gemes
Nikola is a content marketer at Whatagraph with extensive writing experience in SaaS and tech niches. With a background in content management apps and composable architectures, it's his job to educate readers about the latest developments in the world of marketing data, data warehousing, headless architectures, and federated content platforms.
Get marketing insights direct to your inbox