Correct Answer: B
To ensure that both production jobs with strict SLAs and ad-hoc queries have appropriate compute resources available while adhering to cost efficiency, setting up separate reservations and billing models for each project is the best approach. Here's why option B is the best choice:
Separate Reservations for SLA and Ad-hoc Projects:
Creating two separate reservations allows for dedicated resource management tailored to the needs of each project.
The production project requires guaranteed slots with the ability to scale up as needed, while the ad-hoc project benefits from on-demand billing based on data scanned.
Enterprise Edition Reservation for SLA Project:
Setting a baseline of 300 slots ensures that the SLA project has the minimum required resources.
Enabling autoscaling up to 500 additional slots allows the project to handle occasional spikes in workload without compromising on SLAs.
On-Demand Billing for Ad-hoc Project:
Using on-demand billing for the ad-hoc project ensures cost efficiency, as users are billed based on the amount of data scanned rather than reserved slot capacity.
This model suits the less predictable and often lower-utilization nature of ad-hoc queries.
Steps to Implement:
Set Up Enterprise Edition Reservation for SLA Project:
Create a reservation with a baseline of 300 slots.
Enable autoscaling to allow up to an additional 500 slots as needed.
Configure On-Demand Billing for Ad-hoc Project:
Ensure that the ad-hoc project is set up to use on-demand billing, which charges based on data scanned by the queries.
Monitor and Adjust:
Continuously monitor the usage and performance of both projects to ensure that the configurations meet the needs and make adjustments as necessary.
Reference:
BigQuery Slot Reservations
BigQuery On-Demand Pricing