Skip to main content
We recommend capacity pricing for guaranteed performance and cost predictability. This is especially important for CDC workloads where one unoptimized MERGE or unpartitioned table can easily spike your BigQuery costs.

BigQuery pricing model

BigQuery charges separately for storage and compute. Its serverless architecture means there are no clusters or servers for you to manage - BigQuery automatically provisions compute resources when you run queries. Compute charges make up the largest portion of most BigQuery bills, understanding the available pricing models is crucial to avoid unexpected costs. This post will explain the two compute pricing models - on demand and capacity pricing (BigQuery Editions). While both models exist, we strongly recommend most customers to adopt capacity pricing as their default because it provides predictable costs and shields you from the unexpected spikes associated with per-query billing.

On-demand compute pricing

On-demand pricing is BigQuery’s default and simplest billing model. It charges per query based on the bytes read by the query.
  • Price per TB - The standard rate is $6.25 per TB of data processed, with the first terabyte free. A minimum of 10 MB is billed per table referenced.
  • Concurrency limits - On demand projects can use up to 2k slots concurrency (20k per organization) and this is usually sufficient for most companies.
This is best suited for small or experimental workloads where you don’t want to commit to capacity. It requires no upfront reservation and is easy to understand. However because of the pricing model, it’s very easy to have unoptimized queries spike your BigQuery costs.

Capacity pricing (BigQuery Editions)

Instead of paying by bytes scanned, you pay for compute slots (virtual CPUs) allocated to your queries. This pricing model is available in three editions: Standard, Enterprise and Enterprise Plus. Slots can autoscale beyond a baseline to handle bursts, and unused slots can be shared across projects.
EditionPay as you go cost (per slot hour)1 year commitment3 year commitment
Standard$0.04/slot-hourNANA
Enterprise$0.06/slot-hour$0.048/slot-hour$0.036/slot-hour
Enterprise Plus$0.09/slot-hour$0.08/slot-hour$0.06/slot-hour
Source Edition feature differences:
EditionDescription
StandardEntry-level option suitable for basic workloads can can tolerate occasional autoscaling. Includes standard SLAs and does not support features like BigQuery ML and BI Engine acceleration.
EnterpriseEnhanced security/governance features, access to BigQuery ML, BigQuery Omni, and BI Engine caching. Best for predictable production workloads requiring advanced features.
Enterprise PLusIncludes all features of Enterprise plus advanced ML capabilities, cross-cloud analytics and premium support. Geared towards mission-critical, large-scale operations.

Autoscaling and slot sharing

Capacity reservations includes two values: baseline number of slots you commit to (always billed) and maximum number for autoscaling. When workloads exceed the baseline, BigQuery will automatically add slots in increments of 100 up to the maximum. Example of how this works in practice:
  • Baseline 100 slots; max 500 slots.
  • Hour 1: no queries → 100 slot-hours billed.
  • Hour 2: small workload requiring < 100 slots -> still billed for 100 slot-hours.
  • Hour 3: workload requires 150 slots; autoscaling adds 100 slots -> 200 slot-hours billed in that hour.