BigQuery pricing

BigQuery is a serverless data analytics platform. You don't need to provision individual instances or virtual machines to use BigQuery. Instead, BigQuery automatically allocates computing resources as you need them. You can also reserve compute capacity ahead of time in the form of slots, which represent virtual CPUs. The pricing structure of BigQuery reflects this design.

Overview of BigQuery pricing

BigQuery pricing has two main components:

  • Compute pricing is the cost to process queries, including SQL queries, user-defined functions, scripts, and certain data manipulation language (DML) and data definition language (DDL) statements.
  • Storage pricing is the cost to store data that you load into BigQuery.

BigQuery charges for other operations, including using BigQuery Omni, BigQuery ML, BI Engine, and streaming reads and writes.

In addition, BigQuery has free operations and a free usage tier.

Every project that you create has a billing account attached to it. Any charges incurred by BigQuery jobs run in the project are billed to the attached billing account. BigQuery storage charges are also billed to the attached billing account. You can view BigQuery costs and trends by using the Cloud Billing reports page in the Google Cloud console.

Key Point: Pricing models apply to accounts, not individual projects, unless otherwise specified.

Compute pricing models

BigQuery offers a choice of two compute pricing models for running queries:

  • On-demand pricing (per TiB). With this pricing model, you are charged for the number of bytes processed by each query. The first 1 TiB of query data processed per month is free.
  • Capacity pricing (per slot-hour). With this pricing model, you are charged for compute capacity used to run queries, measured in slots (virtual CPUs) over time. This model takes advantage of BigQuery editions. You can use the BigQuery autoscaler or purchase slot commitments, which are dedicated capacity that is always available for your workloads, at a lower price.

For more information about which pricing to choose for your workloads, see Workload management using Reservations.

Gemini in BigQuery pricing

See Gemini in BigQuery Pricing Overview for information about pricing for Gemini in BigQuery.

On-demand compute pricing

By default, queries are billed using the on-demand (per TiB) pricing model, where you pay for the data scanned by your queries.

With on-demand pricing, you will generally have access to up to 2,000 concurrent slots, shared among all queries in a single project. Periodically, BigQuery will temporarily burst beyond this limit to accelerate smaller queries. In addition, you might have fewer slots available if there is a high amount of contention for capacity in a specific location.

On-demand (per TiB) query pricing is as follows:

  • Johannesburg (africa-south1)
  • Taiwan (asia-east1)
  • Hong Kong (asia-east2)
  • Tokyo (asia-northeast1)
  • Osaka (asia-northeast2)
  • Seoul (asia-northeast3)
  • Mumbai (asia-south1)
  • Delhi (asia-south2)
  • Singapore (asia-southeast1)
  • Jakarta (asia-southeast2)
  • Bangkok (asia-southeast3)
  • Kuala Lumpur (asia-southeast4)
  • Sydney (australia-southeast1)
  • Melbourne (australia-southeast2)
  • Europe (eu)
  • Warsaw (europe-central2)
  • Finland (europe-north1)
  • Stockholm (europe-north2)
  • Madrid (europe-southwest1)
  • Belgium (europe-west1)
  • Berlin (europe-west10)
  • Turin (europe-west12)
  • London (europe-west2)
  • Frankfurt (europe-west3)
  • Netherlands (europe-west4)
  • Zurich (europe-west6)
  • Milan (europe-west8)
  • Paris (europe-west9)
  • Doha (me-central1)
  • Dammam (me-central2)
  • Tel Aviv (me-west1)
  • Montreal (northamerica-northeast1)
  • Toronto (northamerica-northeast2)
  • Mexico (northamerica-south1)
  • Sao Paulo (southamerica-east1)
  • Santiago (southamerica-west1)
  • US (us)
  • Iowa (us-central1)
  • South Carolina (us-east1)
  • Northern Virginia (us-east4)
  • Columbus (us-east5)
  • Alabama (us-east7)
  • Dallas (us-south1)
  • Oregon (us-west1)
  • Los Angeles (us-west2)
  • Salt Lake City (us-west3)
  • Las Vegas (us-west4)
  • Phoenix (us-west8)

Operation

Price (USD)

Details

Queries (on-demand)

0 tebibyte to 1 tebibyte
Free per 1 month / account
1 tebibyte and above
$6.25 / 1 tebibyte, per 1 month / account

The first 1 TiB per month is free.

If you pay in a currency other than USD, the prices listed in your currency on Cloud Platform SKUs apply.

Pricing details

Note the following regarding on-demand (per TiB) query charges:

  • BigQuery uses a columnar data structure. You're charged according to the total data processed in the columns you select, and the total data per column is calculated based on the types of data in the column. For more information about how your data size is calculated, see Estimate query costs.
  • You are charged for queries run against shared data. The data owner is not charged when their data is accessed.
  • You aren't charged for queries that return an error or for queries that retrieve results from the cache. For procedural language jobs this consideration is provided at a per-statement level.
  • Charges are rounded up to the nearest MB, with a minimum 10 MB data processed per table referenced by the query, and with a minimum 10 MB data processed per query.
  • Canceling a running query job might incur charges up to the full cost for the query if you let the query run to completion.
  • When you run a query, you're charged according to the data processed in the columns you select, even if you set an explicit LIMIT on the results.
  • Partitioning and clustering your tables can help reduce the amount of data processed by queries. As a best practice, use partitioning and clustering whenever possible.
  • On-demand (per TiB) pricing is referred to as analysis pricing on the Google Cloud SKUs page.
  • When you run a query against a clustered table, and the query includes a filter on the clustered columns, BigQuery uses the filter expression to prune the blocks scanned by the query. This can reduce the number of scanned bytes.

BigQuery provides cost control mechanisms that enable you to cap your query costs. You can set:

For detailed examples of how to calculate the number of bytes processed, see Query size calculation.

Capacity compute pricing

BigQuery offers a capacity-based compute pricing model for customers who need additional capacity or prefer a predictable cost for query workloads rather than the on-demand price (per TiB of data processed). The capacity compute model offers pay-as-you-go pricing (with autoscaling) and optional one year and three year commitments that provide discounted prices. You pay for query processing capacity, measured in slots (virtual CPUs) over time.

To enable capacity pricing, use BigQuery reservations.

BigQuery slot capacity:

  • is available in 3 editions: Standard, Enterprise, and Enterprise Plus.
  • applies to query costs, including BigQuery ML, DML, and DDL statements.
  • does not apply to storage costs or BI Engine costs.
  • does not apply to streaming inserts and using the BigQuery Storage API.
  • can leverage the BigQuery autoscaler.
  • is billed per second with a one-minute minimum duration by default. You can opt in to BigQuery fluid scaling at the reservation level for per-second billing with no minimum duration.

Optional BigQuery slot commitments:

  • are available for one or three year periods.
  • are available in Enterprise and Enterprise Plus editions.
  • are regional capacity. Commitments in one region (either customer selected single region or BigQuery selected single region on the customer’s behalf when the customer chooses multi-region) cannot be used in another region.
  • can be shared across your entire organization. There is no need to buy slot commitments for every project.
  • are offered with a 50-slot minimum and increments of 50 slots.
  • are automatically renewed unless set to cancel at the end of the period.

Standard Edition

The following table shows the cost of slots in Standard edition.

  • Johannesburg (africa-south1)
  • Taiwan (asia-east1)
  • Hong Kong (asia-east2)
  • Tokyo (asia-northeast1)
  • Osaka (asia-northeast2)
  • Seoul (asia-northeast3)
  • Mumbai (asia-south1)
  • Delhi (asia-south2)
  • Singapore (asia-southeast1)
  • Jakarta (asia-southeast2)
  • Bangkok (asia-southeast3)
  • Kuala Lumpur (asia-southeast4)
  • Sydney (australia-southeast1)
  • Melbourne (australia-southeast2)
  • Europe (eu)
  • Warsaw (europe-central2)
  • Finland (europe-north1)
  • Stockholm (europe-north2)
  • Madrid (europe-southwest1)