Skip to main content

BigQuery Cost Control: Bytes Scanned, Slots, Storage

Nothing to schedule, three meters to manage: query compute, slot capacity and stored bytes.

Why there is nothing to switch off

BigQuery is serverless. There is no instance, cluster or warehouse that you can stop overnight, so a start/stop schedule has nothing to act on. Google’s pricing page splits the bill into compute and storage, and every saving comes from changing one of those two meters.

Compute runs on one of two models. On-demand pricing charges per TiB for the bytes each query processes, and the first 1 TiB processed each month is free. Capacity pricing charges per slot-hour through BigQuery editions, using the autoscaler or slot commitments. A team on on-demand pays for what its SQL reads; a team on capacity pays for the slots it keeps available.

Storage is billed by volume. Any table or partition that has not been modified for 90 consecutive days moves to long-term storage, and Google states the price for it drops by approximately 50% with no change in performance, durability or availability. Each partition is judged separately, so partitioned tables age into the cheaper rate piece by piece.

Levers that genuinely reduce the bill

Google’s cost-control guidance lists the controls that apply to on-demand compute:

  • Set maximum bytes billed on a query so it fails instead of scanning past a threshold.
  • Select only the columns you need instead of SELECT *.
  • Run a dry run to see the bytes a query would process before paying for it.
  • Set custom quotas that cap data processed per day, per project or per user.

On the storage side, the lever is to leave cold partitions untouched so they reach the long-term rate, and to choose between logical and physical storage billing per dataset (the storage overview notes that physical billing charges for compressed bytes, logical for uncompressed).

What ZopNight does with BigQuery spend

ZopNight does not schedule or resize BigQuery, and its recommendation catalog has no BigQuery rules today. Its role here is visibility. GCP billing reaches ZopNight through the BigQuery billing export, net of credits, so committed-use and promotional discounts show the way the invoice bills them. BigQuery charges then appear in cost reports alongside Compute Engine and GKE.

Two features matter most for a pay-per-scan service. Cost anomaly detection compares daily spend against a 7-day rolling average and z-score, which is how a runaway scheduled query shows up as a critical or emergency anomaly the next day. Budgets can be set on a cloud account or on any discovered resource, with threshold alerts to Slack, Teams, Google Chat or a webhook. The resource entry lives at the BigQuery fact sheet.

If you want spend per business outcome, such as cost per thousand queries served, unit economics lets you push that denominator in and chart it against the bill.

faq

Questions we get a lot.

Can ZopNight pause BigQuery at night?

No. BigQuery has no instance to pause. Savings come from scanning fewer bytes, right-sizing slot capacity, and letting unmodified tables reach long-term storage pricing.

Does ZopNight show BigQuery costs if billing export is set up?

Yes. GCP billing data comes from the BigQuery billing export, net of credits, and flows into cost reports, budgets and anomaly detection.

Stop watching the waste.
Start cutting it.

See. Find. Fix. Automatic.

Connect your first cloud account in under 5 minutes. See your first remediation in under 7. No credit card required.

CDCR connect detect classify remediate
full audit every action traceable
read-only default access
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·