How Do You Apply a BigQuery Reservation to a CDC Process?
You are running your BigQuery project in the on-demand billing model and are executing a change data capture (CDC) process that ingests data. The CDC process loads 1 GB of data every 10 minutes into a temporary table, and then performs a merge into a 10 TB target table. This process is very scan intensive and you want to explore options to enable a predictable cost model. You need to create a BigQuery reservation based on utilization information gathered from BigQuery Monitoring and apply the reservation to the CDC process. What should you do?
Community Votes
71% of anonymous learners picked answer D. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
The question tests whether you know that BigQuery reservations are assigned to resources such as projects, folders, or organizations, not to datasets, individual jobs, or service accounts.
The correct answer is D: create a BigQuery reservation for the project, because BigQuery reservation assignments can only target projects, folders, or organizations. Community consensus strongly supports project-level assignment, despite confusion about job-level or service-account-level reservations.
Option B (job-level reservation) is the most common wrong answer because test-takers think a reservation can be tied directly to the CDC job; BigQuery does not support job-level reservations, and assignments must be made at the project level (or higher).
Community Discussion (14 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option D is correct. BigQuery reservations are capacity commitments that must be assigned to a project, folder, or organization, as documented in the official BigQuery reservations guide. When a job runs in a project that is assigned to a reservation, it uses slots from that reservation. The CDC process runs in the BigQuery project, so assigning the reservation to that project is the correct way to apply it. Community comments [1] and [2] correctly state that reservation assignments are only possible for projects, folders, or organizations, and comment [3] points directly to the official assignmen documentation.Why the Other Options Are Wrong
Option A (dataset) is invalid because reservations cannot be scoped to a dataset; they apply to the entire project or higher. Option B (job) is a common misconception because BigQuery does not let you create a reservation for a single job; you can only assign a reservation to a project and optionally filter by job type. Option C (service account) is sometimes suggested, as in comments [7] and [9], but standard BigQuery reservation assignments do not accept service accounts as the assignee. To isolate the CDC workload, you use the project-level assignment with a job-type filter (for example, QUERY or BACKGROUND), not a service-account assignment.Community Comment Notes
The most useful comments—[1], [2], and [3]—explain that reservations are assigned to projects, folders, or organizations and cite the official documentation. Comment [2] helpfully quotes the key phrase: "assign projects, folders, or organizations to a reservation." Comment [7] and [9] argue for service account, but this is not supported for BigQuery reservations and is contradicted by the official docs. Comment [8] mentions job-level reservations, but that is also not a valid BigQuery assignment target. The majority of voters (69 for D) and the official documentation make the project-level assignment the correct choice.Official Reference
Exam Strategy
When solving BigQuery reservation questions, remember that assignment targets are project, folder, or organization—never dataset, job, or service account. If the question asks about a specific workload like CDC, select the project-level reservation and consider the job-type field to separate query jobs from background load jobs, which makes costs predictable without trying to reserve for the job itself.