How should you allocate BigQuery reservations for SLA and ad-hoc projects?
You have two projects where you run BigQuery jobs: • One project runs production jobs that have strict completion time SLAs. These are high priority jobs that must have the required compute resources available when needed. These jobs generally never go below a 300 slot utilization, but occasionally spike up an additional 500 slots. • The other project is for users to run ad-hoc analytical queries. This project generally never uses more than 200 slots at a time. You want these ad-hoc queries to be billed based on how much data users scan rather than by slot capacity. You need to ensure that both projects have the appropriate compute resources available. What should you do?
Community Votes
83% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
This question tests the distinction between slot-based reservation billing and on-demand data-scan billing, and the interpretation of 'additional 500 slots' as autoscaling headroom on top of a 300-slot baseline.
The correct answer is B: create two reservations, using Enterprise Edition with a 300-slot baseline and 500-slot autoscaling for the SLA project, and on-demand billing for ad-hoc queries. Community consensus strongly supports B, with 83% of votes, because ad-hoc queries must be billed by data scanned, not slot capacity.
The most common wrong answer is D, which sets the SLA reservation baseline to 800 slots and gives the ad-hoc project autoscaling slots; this misreads 'additional 500 slots' as total required capacity, and incorrectly applies slot-based billing to ad-hoc queries instead of on-demand billing.
Community Discussion (13 comments)
- The SLA project gets a dedicated reservation with autoscaling to handle spikes, ensuring it meets its strict completion time SLAs. - The ad-hoc project uses on-demand billing, which means it will be billed based on the amount of data scanned rather than slot capacity, fitting the billing preference for ad-hoc queries.
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option B correctly separates the two workloads into dedicated reservations with different billing models. The SLA project needs a baseline of 300 slots to guarantee compute availability for its strict completion-time SLAs, and autoscaling up to 500 additional slots provides headroom for spikes without paying for unused capacity at all times. The ad-hoc project is configured with on-demand billing, which charges based on the amount of data scanned rather than slot capacity, exactly matching the requirement. This also allows each project's resource needs to be managed and billed independently.
Why the Other Options Are Wrong
Option A creates a single shared reservation for both projects, which cannot provide distinct billing for ad-hoc queries and risks the SLA project competing with ad-hoc workloads. Option C uses a reservation with baseline 0 and 'ignore idle slots' for ad-hoc, but this still uses slot-based billing, not data-scan billing. Option D sets the SLA baseline to 800 slots, which is unnecessary because the 300-slot baseline plus 500 autoscaling slots already covers the maximum demand; it also uses autoscaling for the ad-hoc project, which is slot-based and not aligned with the requirement to bill by data scanned.
Community Comment Notes
Comment [1] correctly explains that the SLA project receives a dedicated reservation with autoscaling to meet SLAs, while the ad-hoc project uses on-demand billing for pay-as-you-scan pricing. Comment [6] raises the concern about needing 800 slots total, but as comment [9] clarifies from the official documentation, autoscaling slots are added only after all baseline slots are consumed, so a 300 baseline plus 500 autoscale correctly provides the needed 800 slots. The community overwhelmingly supports B, with one commenter noting real-world experience configuring BigQuery reservations.
Official Reference
Exam Strategy
For BigQuery capacity questions, first identify the billing model required for each workload. If a question says 'billed by data scanned,' the answer must include on-demand billing or query pricing, not slot reservations. Then for reserved slots, always parse whether autoscaling is 'additional' slots on top of a baseline, and ensure the baseline covers typical usage while autoscaling covers spikes.