Snowflake, BigQuery & Databricks · Google BigQuery

BigQuery slot reservations, editions, and capacity management

gcpHardbigqueryslotscapacity-planningreservations

Interview question

How do you manage BigQuery capacity using reservations, slot commitments, and editions to prevent query throttling during peak hours?

How to answer

The short answer

In enterprise environments with hundreds of data analysts and automated pipelines, relying solely on on-demand query pricing can lead to unpredictable billing spikes. At peak periods, sudden concurrent batch jobs can saturate cluster resources. BigQuery Editions provide enterprise slot capacity management.

Understanding slots and compute units

A slot is a virtual CPU unit in Google's Borg infrastructure used by BigQuery to execute SQL queries. Complex queries involving massive aggregations, , and joins consume thousands of slot-seconds across hundreds of worker nodes simultaneously.

Under on-demand pricing, BigQuery allocates a default shared pool of up to 2,000 slots per project, which dynamically throttles when concurrency spikes.

The BigQuery Editions framework

Google provides three tiered editions for slot provisioning (check current pricing):

  • Standard Edition: Economical pay-as-you-go capacity tailored for smaller workloads with single-region deployments.
  • Enterprise Edition: Provides multi-cloud BigLake governance, cross-region capabilities, adaptive autoscaling, and advanced workload management reservations.
  • Enterprise Plus Edition: Delivers maximum enterprise compliance, customer-managed encryption keys, sovereign data controls, and disaster recovery replication.

Workload isolation with reservations

To prevent an ad-hoc data science query from consuming all compute capacity and starving executive dashboards, administrators define reservations:

  • Baseline slots: A guaranteed pool of compute slots provisioned 24/7 for predictable daily baseline workloads.
  • Autoscaling slots: Additional burst slots that scale up dynamically during peak morning hours and scale down to zero when queries finish.

Administrators then assign Google Cloud projects or folders to specific reservations:

  • Assign the bi-reporting-project to a dedicated prod_bi reservation with 500 baseline slots and 1,000 autoscaling slots.
  • Assign ad-hoc analyst exploratory queries to a separate analyst_pool capped strictly at 200 slots.

This workload isolation prevents runaway queries from impacting customer-facing dashboards.