Get started with reservations
Learn how to create and assign a reservation in BigQuery.
BigQuery reservations let you purchase dedicated processingcapacity, measured in slots, instead of payingon-demand pricing per each byteof data processed. With reservations, costs are more predictable and workloadperformance is often more consistent. Reservations are associated with editionsthat provide scaled pricing and meet the requirements of differentorganizations.
When working with reservations, you can create assignments, which link specificGoogle Cloud projects, folders, or your entire organization to a particularreservation. This lets you isolate workloads, ensure resources for criticaltasks, and manage your BigQuery spending more effectively.
In this tutorial, you create a Standard edition reservation with 100autoscaling slots and assign a project to the reservation. You can then chooseto delete the reservation to avoid incurring costs.
Caution: This tutorial incurs charges. Before purchasing slots, understandreservationpricing.To avoid incurring charges after you complete this tutorial, make sure to deletethe reservation as described inClean up.To follow step-by-step guidance for this task directly in the Google Cloud console, clickGuide me:
Before you begin
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project. You can create a separate Google Cloud project to administer the reservation andgive it a descriptive name likeRoles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission.Learn how to grant roles.
bq-COMPANY_NAME-admin.Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery Reservation API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission.Learn how to grant roles.For more information, seeEnable the BigQuery Reservation API.
In the Google Cloud console, view your slot quotas:
To purchase slots, you must have enough slot quota for the region in whichyou want to purchase slots.
If your slot quota for the region is less than the number of slotsyou want to purchase, seeRequest a quota increase.
Required roles
To get the permissions that you need to create a reservation, assign a project to a reservation, and delete the reservation, ask your administrator to grant you theBigQuery Resource Editor (roles/bigquery.resourceEditor) IAM role on the project. For more information about granting roles, seeManage access to projects, folders, and organizations.
You might also be able to get the required permissions throughcustom roles or otherpredefined roles.
Create an autoscaling reservation
Create a reservation namedtest in theUS multi-region, and allocate amaximum of 100 autoscaling slots to it. Autoscaling slots scale up or down basedon your workload demands.
In the Google Cloud console, go to theBigQuery page.
In the navigation menu, clickCapacity management.
ClickCreate reservation.
In theReservation name field, enter
test.In theLocation drop-down list, selectus (multiple regions in United States).
In theEdition list, selectStandard. For more information, seeUnderstand BigQuery editions.
ForMax reservation size selector, selectSmall (100 Slots).
Leave the other default setting as they are, and clickSave.
To learn how to create a reservation using SQL or the bq tool,seeCreate a reservation with dedicated slots.
Assign a project to a reservation
Assign a project to thetest reservation. Any query jobs that run from thisproject will use the pool of slots from thetest reservation. (In thistutorial, you don't run a job.)
You can assign any project that's in the same organization and region as theadministration project where you created the reservation.
In the Google Cloud console, go to theBigQuery page.
In the navigation menu, clickCapacity management.
Click theSlot reservations tab.
In theActions column for the reservation named
test, clickActions.
ClickCreate assignment.
In theSelect an organization, folder or project section, clickBrowse.
Browse or search for the project, and then select it.
ClickCreate.
When you create a reservation assignment, wait at least 5 minutes before runninga query. Otherwise the query might be billed using on-demand pricing.
To learn how to assign a project to a reservation using SQL or the bq tool,seeAssign a project or folder to a reservation.
Clean up
To avoid incurring charges to your Google Cloud account for the resources used on this page, follow these steps.
Delete the project
The easiest way to eliminate billing is to delete the project that you created for the tutorial.
To delete the project:
Delete the reservation
When you delete a reservation, any jobs that are currently executing with slotsfrom that reservation will fail. To prevent errors, allow in-flight jobs tocomplete before deleting the reservation.
In the Google Cloud console, go to theBigQuery page.
In the navigation menu, clickCapacity management.
Click theSlot reservations tab.
For the reservation named
test, clickToggle node.For each assignment in that reservation, clickActions, and then clickDelete.
In theActions column for the reservation named
test, clickActions.ClickDelete.
To learn how to delete a reservation using SQL or the bq tool, seeDelete a reservation.
What's next
To learn how to use BigQuery reservations to manage yourworkloads, seeUnderstandreservations.
To learn more about slots, seeUnderstand slots.
To learn how to use BigQuery assignments to organize yourworkloads, seeManage workloadassignments.
To learn how to purchase a commitment, seeSlotcommitments.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.