
Snowflake and BigQuery use different compute billing units, so the cost of the same query can differ between the platforms.
Snowflake measures the active time of warehouse compute, while the BigQuery on-demand model measures the data processed by each query. The rates below are representative US on-demand prices and vary by region, cloud, and contract.
A Snowflake virtual warehouse consumes credits for every second it remains active, whether it processes an 11 TB join or waits for another query. BigQuery on-demand bills the volume of data scanned and does not use query duration as its billing unit.
Credits are the unit of Snowflake compute, and warehouse sizes double as they grow: an XS burns 1 credit per hour, S burns 2, M burns 4, and the doubling runs to 128 credits per hour at 4XL. Billing is per second with a 60-second minimum on startup, and a suspended warehouse consumes nothing.
Edition sets the dollar value of a credit. On-demand US rates run about $2.00 per credit on Standard, $3.00 on Enterprise, and $4.00 on Business Critical. Standard comes to roughly $0.00056 per credit-second, so a running Medium warehouse costs a little over 13 cents a minute before the edition multiplier applies. Storage sits apart at about $23 per compressed TB per month.
A warehouse left active between queries consumes credits at the same rate as one processing work. Warehouse right-sizing and shorter active periods reduce this idle consumption.
-- credits by warehouse, last 30 days
select warehouse_name, sum(credits_used) as credits
from snowflake.account_usage.warehouse_metering_history
where start_time >= dateadd('day', -30, current_timestamp())
group by warehouse_name
order by credits desc
BigQuery on-demand charges about $6.25 per TiB of data processed in the US, and the first 1 TiB each month is free. A query that reads 4 TiB costs roughly $25 regardless of its duration.
Partitioning and clustering allow the engine to skip data, while selecting three columns instead of SELECT * from a wide table can reduce scanned volume by an order of magnitude. A single unfiltered scan over a 20 TiB table costs $125 even if it completes quickly.
BigQuery editions also provide a capacity model that bills slots by the hour with autoscaling and optional commitments. Capacity pricing, at roughly $0.04 per slot-hour on Standard and $0.06 on Enterprise, is designed for steady workloads that would otherwise have variable per-byte charges.
A query that scans 2 TiB and takes three minutes on a Medium warehouse costs near $12.50 on BigQuery on-demand at $6.25 per TiB. The 2 TiB scan is billed by volume. On Snowflake Enterprise, a Medium warehouse burns 4 credits an hour, so three minutes consumes 0.2 credits and costs about $0.60 if the warehouse suspends immediately.
A query that reads 50 GB but runs for ten minutes costs around $0.31 on BigQuery on-demand. The same job on a Medium Snowflake warehouse costs closer to $2.00, plus any additional active time before suspension. The relative cost therefore depends on scan volume and runtime.
BigQuery on-demand can suit uneven exploratory work when tables are partitioned and queries avoid unfiltered scans. Snowflake can suit steady pipelines that keep a right-sized warehouse utilized. For consistent BigQuery workloads, the editions capacity model makes costs more similar to time-based warehouse pricing.
Snowflake storage has a flat rate near $23 per compressed TB per month. BigQuery separates active and long-term storage, moves data untouched for 90 days to the lower rate, and supports physical or logical byte billing. Logical active storage runs around $0.02 per GiB per month and long-term around $0.01, while physical billing roughly doubles the rate but counts only compressed data. Storage is generally a smaller line item on both platforms.
Which one is cheaper, BigQuery or Snowflake?Neither wins across the board. BigQuery on-demand tends to come out ahead on light, well-partitioned queries and behind on unfiltered scans over huge tables. Snowflake pulls ahead when a warehouse stays fully used and suspends between jobs.
Do you pay for idle time on BigQuery?Not on on-demand. Billing is per byte scanned, so an idle project costs nothing for compute. The editions capacity model is the exception, since it bills provisioned slots over time, closer to how Snowflake meters.
How do you rein in a runaway BigQuery bill?Partition and cluster your tables, keep SELECT * off wide tables, and set per-query and per-user byte limits so one unfiltered scan cannot quietly run into the hundreds of dollars.
What cuts a Snowflake bill the fastest?Smaller warehouses and shorter idle periods reduce Snowflake compute charges because idle runtime bills at the same rate as active work.