Direct answer: the three data warehouses use completely different public meters in 2026: BigQuery bills scanned bytes at 6.25/TiB (first 1 TiB/month free); Snowflake bills credits, Standard 2.00/credit (AWS US East, XS warehouse 1 credit/hour); Redshift Serverless bills RPU-hours at 0.375, with a 4-RPU minimum (from 1.50/hour). Under one set of storage + scanned-volume + active-hour assumptions, monthly cost is about: 5 TB scanned/2 TB stored/100 hours: BigQuery 72.10, Snowflake 246, Redshift 199.15; 20 TB/20 TB/300 hours: 589.79, 1,660, 1,391.52; 100 TB/100 TB/730 hours: 2,973.95, 8,140, 6,837.60 (USD, compute + storage only, excluding tax). Bottom line: BigQuery is cheapest for scan-driven, spiky workloads; Snowflake and Redshift are more predictable for sustained/high-concurrency warehouses; but “how big a warehouse” changes the answer more than “which vendor”. The three meters are not directly equivalent; this article gives formulas, assumptions and three sensitivity tiers rather than treating different performance as the same price.
This guide is for data platform, analytics engineering, FinOps and procurement teams. Data cut-off: 7 November 2026; prices come from the official BigQuery, Snowflake and Redshift pricing pages/consumption table, in USD, excluding tax; all TCOs are editorial calculations, not vendor quotes. “Scanned bytes/credits/RPU, storage, time travel/failover, concurrency” differ, so official facts, editorial assumptions and non-comparable items are kept separate.
BigQuery: 6.25/TiB scanned, first 1 TiB/month free; active logical storage 23.55/TiB/month; slots also available (Standard 0.04, Enterprise 0.06, Enterprise Plus 0.10/slot-hour). Snowflake: Standard 2.00/credit (AWS US East), XS/S/M/L = 1/2/4/8 credits/hour; storage 23/TB/month; Cloud Services bill only above 10% of daily compute. Redshift: Serverless 0.375/RPU-hour, 4-RPU minimum (1.50/hour), per-second billing, no idle charge; Provisioned from 0.543/hour; managed storage 0.024/GB-month.
Three meters: scanned bytes, credits, RPU-hours
BigQuery: default on-demand bills scanned bytes at 6.25/TiB, first 1 TiB per account per month free; capacity mode bills slot-hours, Standard 0.04, Enterprise 0.06, Enterprise Plus 0.10 (pay-as-you-go), 1-year 0.036/0.054/0.09, 3-year 0.032/0.048/0.08; active logical storage 0.000031507/GiB-hour (about 23.55/TiB/month, first 10 GiB free), dropping to long-term after 90 days without modification. Snowflake: credits, AWS US East Standard 2.00, Enterprise 3.00, Business Critical 4.00/credit; virtual warehouses XS/S/M/L/XL/2XL/3XL/4XL = 1/2/4/8/16/32/64/128 credits/hour, per-second billing with a 60-second minimum; storage 23/TB/month; Cloud Services 4.4 credits/hour, but not charged when daily usage is at or below 10% of daily virtual-warehouse credits. Redshift: Serverless 0.375/RPU-hour, base capacity 4–1024 RPU, from 1.50/hour, per-second billing with a 60-second minimum and no idle charge; Provisioned from 0.543/hour; managed storage 0.024/GB-month; Spectrum 5/TB scanned.
| Platform/tier | Billing unit | Published price (USD) | Boundary |
|---|---|---|---|
| BigQuery on-demand | Per TiB scanned | 6.25 | First 1 TiB/account/month free |
| BigQuery Standard | Per slot-hour | 0.04 | Pay-as-you-go; 1-year 0.036, 3-year 0.032 |
| BigQuery Enterprise | Per slot-hour | 0.06 | Pay-as-you-go; 1-year 0.054, 3-year 0.048 |
| BigQuery Enterprise Plus | Per slot-hour | 0.10 | Pay-as-you-go; 1-year 0.09, 3-year 0.08 |
| BigQuery active logical storage | Per GiB-hour | 0.000031507 | About 23.55/TiB/month; first 10 GiB free |
| Snowflake Standard | Per credit | 2.00 | AWS US East; Enterprise 3.00, Business Critical 4.00 |
| Snowflake XS/S/M/L | Credits/hour | 1 / 2 / 4 / 8 | XL/2XL/3XL/4XL = 16/32/64/128 |
| Snowflake storage | Per TB/month | 23.00 | AWS US East on-demand; capacity discounts separate |
| Redshift Serverless | Per RPU-hour | 0.375 | 4–1024 RPU; from 1.50/hour; no idle charge |
| Redshift Provisioned | Per hour | 0.543+ | Per node; RA3 example ra3.4xlarge 3.26/hour |
| Redshift managed storage | Per GB-month | 0.024 | Actual storage; independent of compute |
Sources: BigQuery Pricing, Snowflake Pricing Options and Snowflake Service Consumption Table, Amazon Redshift Pricing (US regions/USD, accessed 7 November 2026). Excludes tax, discounts, commitments, Spot/Reserved, Serverless Reservations, support and regional differences; Snowflake credit prices are AWS US East (N. Virginia) and storage is Standard Storage on-demand first tier; the Redshift 0.543 is the Provisioned entry price and varies by node/region.
Conversion formulas: putting three bills on one sheet
For the same workload, the monthly formulas differ: BigQuery on-demand = max(0, scanned TiB − 1) × 6.25 + storage TiB × 23.55; BigQuery editions = slots × 730 × unit price + storage; Snowflake = warehouse credits/hour × active hours × credit price + storage TB × 23 + Cloud Services above 10%; Redshift Serverless = RPU × active hours × 0.375 + storage GB × 0.024; Redshift Provisioned = node hourly × 730 × nodes + storage GB × 0.024. Note: BigQuery cost is driven by “bytes scanned”, Snowflake/Redshift by “warehouse runtime/capacity”; the same monthly fee does not mean the same performance, concurrency or scan speed.
| Scenario | Storage | Monthly scan | Active hours | Snowflake size | Redshift RPU |
|---|---|---|---|---|---|
| Light/starting | 2 TB | 5 TB | 100 | XS (1 credit/h) | 4 |
| Mid-size BI/ETL | 20 TB | 20 TB | 300 | S (2 credits/h) | 8 |
| Sustained/large | 100 TB | 100 TB | 730 | M (4 credits/h) | 16 |
Editorial assumptions, not vendor advice or a performance benchmark. Storage is active data at monthly average; scan volume is query bytes processed; active hours are billable warehouse hours (Snowflake per-second with a 60-second minimum; Redshift per-second with a 60-second minimum and no idle charge; BigQuery on-demand has no warehouse runtime fee). Sizes are roughly paired to scan volume and must be calibrated with real query benchmarks.
Three TCOs: 5 TB, 20 TB, 100 TB scanned
Under the assumptions above, compute + storage only: light — BigQuery 72.10, Snowflake 246, Redshift 199.15; mid-size — BigQuery 589.79, Snowflake 1,660, Redshift 1,391.52; sustained — BigQuery 2,973.95, Snowflake 8,140, Redshift 6,837.60. BigQuery is lowest in all three because 6.25/TiB of scanning is cheap relative to warehouse-hour pricing; Snowflake/Redshift monthly cost is driven mainly by “how long and how big the warehouse runs”, not linearly by scanned volume. If the sustained Snowflake case drops from M to XS, the monthly fee falls to 3,760, only about 26% above BigQuery’s 2,973.95 — so sizing changes the answer more than the vendor choice.
| Scenario (monthly) | BigQuery | Snowflake | Redshift Serverless | Lowest |
|---|---|---|---|---|
| 5 TB scan / 2 TB / 100h | 72.10 | 246.00 | 199.15 | BigQuery |
| 20 TB scan / 20 TB / 300h | 589.79 | 1,660.00 | 1,391.52 | BigQuery |
| 100 TB scan / 100 TB / 730h | 2,973.95 | 8,140.00 | 6,837.60 | BigQuery |
Editorial calculation, not a quote. BigQuery = max(0, scanned TiB − 1) × 6.25 + storage TiB × 23.55; Snowflake = credits/h × active hours × 2.00 + storage TB × 23; Redshift = RPU × active hours × 0.375 + storage GB × 0.024 (1 TB = 1,024 GB, per the AWS example). Excludes tax, Cloud Services above 10%, time-travel/failover storage, Spectrum, Concurrency Scaling, egress, support and migration; storage units differ (BigQuery TiB, Snowflake billing TB, Redshift 1 TB = 1,024 GB) by <10%.
Sizing sensitivity: XS/S/M/L vs 4/8/16 RPU
Warehouse size is the biggest lever: Snowflake XS/S/M/L at 730 hours/month cost 1,460/2,920/5,840/11,680 (compute only, 2.00/credit); at 300 hours 600/1,200/2,400/4,800; at 100 hours 200/400/800/1,600. Redshift Serverless 4/8/16/32 RPU at 730 hours cost 1,095/2,190/4,380/8,760; at 300 hours 450/900/1,800/3,600; at 100 hours 150/300/600/1,200. In other words: at the same vendor, one size step can double the monthly fee. Confirm “GB scanned per hour, concurrency, SLA” before choosing XS/S/M/L or 4/8/16 RPU; that matters more than a direct “who is cheaper” comparison.
| Platform/size | 100 hours | 300 hours | 730 hours | Note |
|---|---|---|---|---|
| Snowflake XS (1 credit/h) | 200.00 | 600.00 | 1,460.00 | 2.00/credit |
| Snowflake S (2) | 400.00 | 1,200.00 | 2,920.00 | 2.00/credit |
| Snowflake M (4) | 800.00 | 2,400.00 | 5,840.00 | 2.00/credit |
| Snowflake L (8) | 1,600.00 | 4,800.00 | 11,680.00 | 2.00/credit |
| Redshift 4 RPU | 150.00 | 450.00 | 1,095.00 | 0.375/RPU-h |
| Redshift 8 RPU | 300.00 | 900.00 | 2,190.00 | 0.375/RPU-h |
| Redshift 16 RPU | 600.00 | 1,800.00 | 4,380.00 | 0.375/RPU-h |
| Redshift 32 RPU | 1,200.00 | 3,600.00 | 8,760.00 | 0.375/RPU-h |
Editorial calculation, compute only, storage excluded. Snowflake at AWS US East Standard 2.00/credit; Redshift at Serverless 0.375/RPU-hour. Excludes tax, discounts, commitments, Cloud Services above 10%, Concurrency Scaling, Spectrum and storage; sizes are not performance-equivalent.
BigQuery: on-demand vs editions (reserved slots)
If scan volume is steady and concurrency is high, BigQuery can buy slot capacity instead of bytes: 100 slots × 730 hours = 73,000 slot-hours; Standard 0.04 = 2,920, Enterprise 0.06 = 4,380, Enterprise Plus 0.10 = 7,300, plus storage (100 TiB × 23.55 = 2,355.20), for totals of 5,275.20/6,735.20/9,655.20. 50 slots totals 3,815.20/4,545.20/6,005.20; 200 slots totals 8,195.20/11,115.20/16,955.20. Against on-demand 100 TB scanned + 100 TB stored at 2,973.95: on-demand wins at low scan volume; editions are more stable for high concurrency/predictable throughput, but slots must match real concurrency — buying too many turns into fixed cost.
| BigQuery capacity | Standard 0.04 | Enterprise 0.06 | Enterprise Plus 0.10 |
|---|---|---|---|
| 50 slots × 730h + 100 TiB storage | 3,815.20 | 4,545.20 | 6,005.20 |
| 100 slots × 730h + 100 TiB storage | 5,275.20 | 6,735.20 | 9,655.20 |
| 200 slots × 730h + 100 TiB storage | 8,195.20 | 11,115.20 | 16,955.20 |
Editorial calculation, not a quote. Uses pay-as-you-go slot prices + active logical storage 23.55/TiB/month; excludes tax, commitment discounts (1-year 0.036/0.054/0.09; 3-year 0.032/0.048/0.08), BI Engine, streaming inserts, Storage API, egress and support. Slot count is not equivalent to concurrency/performance and needs a real query benchmark.
Hidden costs and decision matrix
Beyond the monthly fee, each vendor has easy-to-miss items: BigQuery scanned bytes can be amplified by unpartitioned/full-table scans, and streaming inserts, Storage API, BI Engine and egress are separate; Snowflake Cloud Services bill above 10% of daily compute, time travel/failover/cloning consume storage, and serverless features bill credits separately; Redshift Spectrum is 5/TB, Concurrency Scaling, cross-region/egress, Provisioned pause/resume and Reserved contracts all count. On selection: scan-driven/spiky/small teams start with BigQuery on-demand; sustained BI/high concurrency and the Snowflake ecosystem go to Snowflake; already on AWS and wanting Redshift/Serverless elasticity go to Redshift. But first pin down size/concurrency/storage/egress, then compare vendors.
| Cost/capability | BigQuery | Snowflake | Redshift |
|---|---|---|---|
| Compute driver | Scanned bytes or slots | Credits × warehouse hours | RPU × active hours |
| Storage | 23.55/TiB/month (active) | 23/TB/month | 0.024/GB/month |
| Idle | No compute charge | No charge after auto-suspend | No idle charge |
| Extra compute | Streaming/Storage API/BI Engine | Cloud Services above 10% | Spectrum 5/TB, Concurrency Scaling |
| Time travel/failover | Storage extra | Storage extra | Cross-region/snapshots extra |
| Typical use | Scan-driven/spiky/small teams | Sustained BI/high concurrency/ecosystem | Inside AWS/Serverless elasticity |
Sources: the three official pricing pages/consumption table (accessed 7 November 2026). This is a public pricing overview; free allowances, time travel/failover, streaming, BI Engine, Spectrum, Concurrency Scaling, egress, support and contract prices depend on region/tier.
What should procurement and acceptance specify?
At least ten things: monthly scan volume/peaks, storage volume and growth, concurrency/queueing, warehouse size/autoscaling, query mix (ad-hoc/BI/ETL), time travel/failover, data egress, streaming/Spectrum, support/SLA, migration/exit. Run a 2–4 week POC on real queries and record bytes scanned, slot/RPU/credit usage, storage, egress, retries and the bill; do not compare only “per TB” or “per credit”.
- Scan: monthly total/peak, max bytes per query, partitioning/clustering, cache hit rate.
- Storage: active/long-term, compression, time travel, cloning, failover copies.
- Concurrency: peak queries, queueing, slot/RPU caps, autoscaling.
- Size: Snowflake XS–4XL, Redshift 4–1024 RPU, BigQuery slots.
- Mix: ad-hoc, BI, ETL, streaming, ML; whether mixed.
- Network: egress, cross-region, PrivateLink/Private Service Connect.
- Add-ons: Cloud Services, Spectrum, Concurrency Scaling, BI Engine, Storage API.
- Contract: on-demand/commitment, Reserved/Serverless Reservations, renewal uplift.
- Support: SLA, response times, whether included.
- POC: 2–4 weeks of real queries; scan, slot/RPU/credit, storage, egress and bill.
FAQ
Which of the three is cheapest?
Under this article’s assumptions, BigQuery is lowest in all three tiers (72.10/589.79/2,973.95); but that is a mechanical calculation on “scan volume + active hours”. Drop the sustained Snowflake case from M to XS and it falls from 8,140 to 3,760, narrowing the gap sharply. Fix size and concurrency first, then compare vendors.
How does BigQuery’s 1 TiB free tier work?
The first 1 TiB of query scanning per account per month is free; beyond that 6.25/TiB. The examples bill 4 TB of 5 TB (25.00), 19 TB of 20 TB (118.75) and 99 TB of 100 TB (618.75); storage is not part of the free scan allowance.
How much is one Snowflake credit?
AWS US East on-demand: Standard 2.00, Enterprise 3.00, Business Critical 4.00/credit. An XS warehouse uses 1 credit/hour, so XS for 730 hours = 730 credits = 1,460 (Standard); S/M/L use 2/4/8 credits/hour.
Is 4 RPU the Redshift Serverless minimum?
Yes, base capacity is 4–1024 RPU, and the minimum 4 RPU × 0.375 = 1.50/hour; per-second billing with a 60-second minimum and no idle charge. Actual peaks auto-scale to more RPU and the bill follows actual RPU-hours.
Why is the spread so large for the same workload?
Because the drivers differ: BigQuery bills scanned bytes, Snowflake bills warehouse hours × credits, Redshift bills RPU-hours. BigQuery is cheap when scan volume and active time are low; warehouse-hour pricing is more predictable for sustained/high-concurrency use. These are not equivalent quotes for the same performance or concurrency.
How is storage calculated?
BigQuery active logical about 23.55/TiB/month (first 10 GiB free; lower after 90 days without modification); Snowflake 23/TB/month; Redshift 0.024/GB/month (1 TB = 1,024 GB per the AWS example). Time travel, failover, cloning and snapshots are usually extra.
How much do commitments save?
BigQuery editions: 1-year 0.036/0.054/0.09, 3-year 0.032/0.048/0.08 versus 0.04/0.06/0.10 on-demand; Redshift Serverless Reservations save up to 45% and Provisioned Reserved also discounts; Snowflake capacity contracts use ACV tiers. Commitments buy discounts but lock in fixed cost — confirm usage first.
How do we choose and accept?
Scan-driven/spiky/small teams start with BigQuery on-demand; sustained BI/high concurrency and ecosystem choose Snowflake; already on AWS and wanting Serverless elasticity choose Redshift. A 2–4 week POC on real queries records scan, slot/RPU/credit, storage, egress and the bill before sizing and commitments.
Research method and limitations
This article separates “official facts” from “editorial modelling”: BigQuery’s 6.25/TiB, first 1 TiB free, slot prices 0.04/0.06/0.10 and storage 0.000031507/GiB-hour come from BigQuery Pricing; Snowflake’s Standard 2.00/credit, XS–4XL 1/2/4/8/16/32/64/128 credits/hour, storage 23/TB, Cloud Services 4.4 credits/hour and the 10% rule come from Snowflake Pricing Options and the Service Consumption Table; Redshift’s Serverless 0.375/RPU-hour, 4-RPU minimum, no idle charge, Provisioned from 0.543, managed storage 0.024/GB-month and Spectrum 5/TB come from Amazon Redshift Pricing. The three TCOs are arithmetic on those assumptions, not vendor quotes.
Eight limitations: (1) only US public list prices are used, excluding tax, discounts, commitments, Reserved/Serverless Reservations, capacity contracts and regional differences; (2) only compute + storage are counted, excluding Cloud Services above 10%, time travel/failover, cloning, Spectrum, Concurrency Scaling, streaming, BI Engine, Storage API, egress, support and migration; (3) storage units differ (BigQuery TiB, Snowflake billing TB, Redshift 1 TB = 1,024 GB) by <10%; (4) warehouse sizes are roughly paired to scan volume and are not a performance benchmark — changing size materially changes the answer; (5) real scan speed, concurrency, queueing, cache hit rate, SLA and recovery were not tested; (6) Databricks, ClickHouse, Trino/Athena, Azure Synapse/Fabric and other alternatives are excluded; (7) migration, re-engineering, training and dual-run costs are excluded; (8) prices and terms can change by contract, region and exchange rate. Treat this as a pricing-conversion template and replace assumptions with a 2–4 week real-query POC.
Sources and basis
- Google Cloud, BigQuery Pricing: cloud.google.com/bigquery/pricing. On-demand 6.25/TiB, first 1 TiB/month free; Standard/Enterprise/Enterprise Plus 0.04/0.06/0.10 per slot-hour (1-year 0.036/0.054/0.09; 3-year 0.032/0.048/0.08); active logical 0.000031507/GiB-hour (about 23.55/TiB/month, first 10 GiB free). Accessed 7 November 2026.
- Snowflake, Pricing Options: snowflake.com/en/pricing-options. Consumption-based credit model; Standard/Enterprise/Business Critical/VPS editions; storage and compute separate. Accessed 7 November 2026.
- Snowflake, Service Consumption Table: CreditConsumptionTable.pdf. AWS US East (N. Virginia) on-demand: Standard 2.00, Enterprise 3.00, Business Critical 4.00, VPS 6.00/credit; XS–4XL 1/2/4/8/16/32/64/128 credits/hour; Standard Storage 23/TB/month; Cloud Services 4.4 credits/hour, not charged when daily usage is at or below 10% of daily virtual-warehouse credits. Accessed 7 November 2026.
- AWS, Amazon Redshift Pricing: aws.amazon.com/redshift/pricing. Serverless 0.375/RPU-hour, base 4–1024 RPU, from 1.50/hour, per-second/60-second minimum, no idle charge; Provisioned from 0.543/hour; managed storage 0.024/GB-month; Spectrum 5/TB. Accessed 7 November 2026.
Data cut-off 7 November 2026; prices are public list prices excluding tax; all models are editorial calculations. This is not procurement advice.