Introduction to Reservations

BigQuery Reservations enables you to do the following:

Overview

BigQuery offers a choice between two pricing models for analytics:

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.

Key features

  • 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.

Key concepts

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.

Reservations concepts.

Prerequisites

Permissions

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 administration project and the assignee projects. We recommend that you grant administrators the 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 bigqueryreservation.googleapis.com.

Enable API.

Quotas

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 region.

Reservations quota.

Limitations

  • 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.

What's next