Snowflake vs Databricks vs BigQuery vs Redshift: Read the Meter
The four warehouses have converged on features and not on billing units. Warehouse-seconds, bytes scanned, slot-hours, DBUs, and RPU-hours do not convert, and the minimum charge on a short query varies by a factor of sixty.
Every one of these four reads and writes Iceberg now. Every one has an MCP server. Every one puts a model behind a SQL function. If you line the feature matrices up they are close enough that the sales engineer stops arguing about capability and starts arguing about total cost of ownership, which is the point where the conversation becomes unfalsifiable.
The part that is falsifiable is the meter. Snowflake bills warehouse-seconds. BigQuery bills bytes scanned or slot-seconds, and you choose which per reservation. Redshift bills RPU-seconds or node-hours. Databricks bills DBUs plus, on classic compute, the cloud VM underneath. Those units do not convert into each other, which is why every “X is cheaper than Y” post is really a statement about one specific workload shape.
All numbers below are US East list prices read on 22 August 2026, from Snowflake’s Service Consumption Table effective 18 August 2026, Google’s BigQuery pricing page, and the AWS Redshift price list for us-east-1.
| Unit | List price | Minimum charge | |
|---|---|---|---|
| Snowflake | Platform credit per warehouse-hour | $2.00 / $3.00 / $4.00 per credit (Standard / Enterprise / Business Critical, AWS us-east-1) | 1 minute, then per second |
| BigQuery on-demand | Bytes scanned | $6.25 per TiB, first TiB each month free | 10 MB per table referenced |
| BigQuery capacity | Slot-hour | $0.04 / $0.06 / $0.10 (Standard / Enterprise / Enterprise Plus) | 1 minute, or none with Fluid scaling |
| Redshift Serverless | RPU-hour | $0.375 | 60 seconds |
| Redshift provisioned | Node-hour | $0.543 (ra3.large) to $13.04 (ra3.16xlarge) | per node, always on |
| Databricks | DBU, plus the VM on classic compute | Rendered client-side; read it off your own account | Varies by compute type |
The minimum charge is where short queries go to die
Everybody publishes a per-second billing headline. The interesting number is what happens in the first second.
That last row is not a typo. Snowflake’s consumption table says a virtual warehouse burns a minimum of one minute of credits when it starts or resumes, but an Interactive Warehouse, “a type of Virtual Warehouse,” burns sixty minutes. A Compute Node other than Postgres burns five. If somebody on your team enables Interactive Warehouses because the name sounded like what a BI tool wants, one dashboard refresh at 2 a.m. costs an hour of an XS warehouse.
BigQuery went the other direction this year. Slot-based compute is billed per second with a one-minute minimum by default, and there is now an opt-in called Fluid scaling that removes the minimum entirely at the reservation level. That is the only no-minimum option among the four.
Snowflake: the credit is not the price
A credit is a unit of work, not a unit of money, and three separate multipliers sit between your query and your invoice.
Warehouse size sets the burn rate: XS burns 1 credit per hour, and each size up doubles it, to 512 for a 6XL. Edition sets the dollar value of the credit: $2.00 on Standard, $3.00 on Enterprise, $4.00 on Business Critical, $6.00 on VPS, in AWS us-east-1. And generation now sets a third multiplier that did not exist a year ago. A Gen 2 warehouse on AWS burns 1.35 credits per hour at XS, not 1. On Azure it is 1.25. Gen 2 is faster, so the question is whether it finishes more than 35% sooner on your queries, and that is a thing you measure rather than assume.
Cloud Services is metered separately at 4.4 credits per hour, and forgiven up to 10% of your daily warehouse credits. Workloads that are heavy on metadata operations and light on scanning can push past that 10% and start paying for the control plane.
Storage is $23.00 per TB per month on demand in us-east-1, dropping to $13.80 at the top capacity tier, and Snowflake bills compressed size.
BigQuery: two meters and a storage decision most people never make
On-demand is the one that forgives a bad query plan and punishes a bad table layout. You pay $6.25 per TiB of bytes processed, the first TiB each month is free, and charges round up to the nearest MB with a minimum of 10 MB per table referenced by the query. A query joining twenty small lookup tables has a floor of 200 MB whether or not those tables hold anything.
Capacity pricing swaps that for slot-hours: $0.04 on Standard, $0.06 on Enterprise, $0.10 on Enterprise Plus, with one- and three-year commitment discounts that take Enterprise to $0.048 and Enterprise Plus to $0.06.
The storage decision is the one worth twenty minutes of somebody’s attention. BigQuery offers two billing models per dataset. Logical billing charges $0.023 per GiB-month for active data on uncompressed bytes. Physical billing charges $0.040 per GiB-month on compressed bytes. Physical is 1.74 times the rate, so physical is cheaper the moment your data compresses better than 1.74 to 1, which columnar warehouse data usually does by a wide margin. The default is logical.
Long-term storage, meaning a table or partition untouched for 90 days, drops to $0.016 logical and $0.020 physical. Note that the logical drop is about 30%, not the 50% the page’s summary sentence suggests; the exact 50% halving applies to physical.
Redshift: the only one where you can turn the meter off by owning it
Serverless is $0.375 per RPU-hour in us-east-1 with a 60-second minimum, and that price took effect 1 June 2026. Reserved commitments bring it to $0.30 per RPU-hour for one year with no upfront and $0.2063 for three years.
Provisioned RA3 is a node-hour bill that runs whether or not anyone queries: $0.543 for ra3.large, $1.086 for ra3.xlplus, $3.26 for ra3.4xlarge, $13.04 for ra3.16xlarge. Managed storage is $0.024 per GB-month across every node type.
The shape this fits is a warehouse that is busy on a predictable schedule, where a reserved node beats any per-second meter because the meter never gets to stop. The shape it fits badly is bursty and idle, which is exactly what Serverless exists for, and running both patterns in one account is normal.
Databricks: the meter I could not read
Databricks bills in DBUs, and on classic compute the DBU sits on top of the EC2 or VM cost, which arrives on your cloud bill rather than theirs. Serverless folds the VM into a higher DBU rate. That structure matters more than the rate: a classic-compute cost estimate that only counts DBUs is missing a real fraction of the bill.
I could not get list DBU prices out of their pricing pages, which render the numbers client-side; the HTML that comes back over curl has none. Rather than repeat a number from a comparison site, take this one off your own account’s usage page, where the SKU list reflects your actual contract anyway.
AI stopped being free the moment it became a product
A year ago the honest summary was that model access came bundled. That is no longer how any of them bill it.
Snowflake introduced a second currency. AI Credits are separate from Platform Credits and priced at $2.00 for global inference and $2.20 for regional, flat, regardless of your edition. That is a real change in direction: a Business Critical customer used to pay $4.00 for the credits behind an AI function and now pays $2.00. AI_PARSE_DOCUMENT costs 3.66 AI Credits per 1,000 pages in layout mode and 0.68 in OCR mode, so $7.32 and $1.36 per thousand pages at on-demand rates. And a footnote in that same table says a set of features under promotional pricing goes up 50% on 1 September 2026, which is the sort of line worth grepping the PDF for before you sign anything.
BigQuery routes Gemini usage through a BigQuery services SKU measured in slot-hours, so it lands on the same meter as your queries rather than on a separate AI invoice. Redshift reaches models through Bedrock, which means a second AWS line item with its own per-token pricing.
Picking by the shape of the load, not the logo
If your queries are short, frequent, and unpredictable, the minimum charge dominates and BigQuery capacity with Fluid scaling is the only meter that does not round you up. If they are long and scheduled, the minimum is noise and the hourly rate is everything, which is where reserved Redshift nodes win on pure dollars. If your data is small but scanned constantly, on-demand BigQuery will surprise you in the wrong direction and a small always-on warehouse will not.
The test that settles it takes an afternoon. Take your ugliest real query, not the vendor’s sample dataset, run it on two of the four, and read the per-query cost out of the usage view rather than the invoice. The number that matters is not what the meter is called. It is how many times a day it starts.