BigQuery Reservations enables you to do the following:
- Switch from the on-demand pricing model to flat-rate pricing, or combine the two models.
- Purchase and deploy dedicated BigQuery slots for analysis.
- Allocate BigQuery slots across your entire organization for workload management.
BigQuery offers a choice between two pricing models for analytics:
- On-demand pricing: You pay only for the data scanned by your queries.
- Flat-rate pricing: Offers predictable and consistent month-to-month costs.
By default, you are billed according to the on-demand pricing model. With BigQuery Reservations, you can optionally switch to the flat-rate pricing model by purchasing commitments, which are dedicated portions of query processing capacity that are measured in BigQuery slots. The cost of all bytes processed is included in the flat-rate price.
- Flat-rate pricing: You pay a stable cost for analysis rather than paying the on-demand price per TB of data processed. For more information, see BigQuery pricing.
- Flexible pricing: Provides mix-and-match flat-rate and on-demand pricing within an organization. Customers can run on-demand for one workload and flat-rate for another.
- Workload management: You allocate slots to workloads for workload isolation and prioritization.
- Efficiency: Any unused slots are seamlessly and immediately shared across the entire organization.
- Organization-scoped: You can purchase and allocate slots for your entire organization. There is no need to purchase slots for each project in which you use BigQuery.
BigQuery Reservations introduces three key concepts:
- You can purchase dedicated BigQuery slots by procuring commitments.
- Optionally, you can split up and isolate your committed BigQuery slots to reservations for workload management purposes.
- Use assignments to assign Google Cloud projects, folders, or your entire organization to reservations.
By default, you can use
bigquery.admin and project
owner roles to manage
BigQuery Reservations. These roles grant access to all
BigQuery resources, including access to data and queries.
The following role is available to use with BigQuery Reservations and does not grant access to data and queries. This role can be granted at the organization, folder, or administration project level.
bigquery.resourceAdmin: allows purchasing and canceling commitments, modification of reservations, and modification of project-to-reservation assignments.
Project-to-reservation assignment requires that you grant permission in both the
and the assignee projects. We recommend that you grant administrators
bigquery.resourceAdmin role at the organization or folder level.
For more information about granular BigQuery permissions, see roles and permissions.
Choosing an Administration Project
BigQuery Reservations help you securely manage your entire Google Cloud organization's BigQuery resources centrally. This is done by picking a single Cloud project as your administration project.
We recommend that you elect an administration project by only enabling the BigQuery Reservations API on a single project.
The administration project creates and maintains ownership of BigQuery Reservations resources (commitments, reservations, and assignments). BigQuery Reservations resources can then be shared out to all the other projects in the organization by using assignments. We recommend that you create a new project with a descriptive name.
Any project using a reservation owned by the admin project isn't billed for analysis (that is, running queries) but continues to be separately billed for storage. All BigQuery Reservations commitments made in the administration project are billed to the administration project.
Enabling the Reservations API
The BigQuery Reservation API is distinct from the existing BigQuery API and must be enabled independently. For more information, see Enabling and disabling APIs.
- The name of the API is "BigQuery Reservations API"
- The endpoint for the BigQuery Reservation API is
Quota is the maximum allowable number of BigQuery slots you can purchase in the UI. You are not billed for quotas; you are only billed for purchased commitments. Quotas are defined per region.
You cannot purchase more capacity than is allowed by your quota. To raise your
quota limit, select the
Edit Quotas button in the Cloud Console
and request a quota increase for the total number of slots in the desired
- Reservations that you buy cannot be shared with other organizations.
- You must create a separate reservation and a separate administration project for each organization.
- There is no sharing of idle capacity between organizations.