Cloud Data Warehouse Comparison

Best Data Warehouse (2026)

The best cloud data warehouse is the one whose billing meter matches your queries. Snowflake suits workloads you want to size and isolate yourself, and BigQuery suits spiky ad hoc analysis on Google Cloud. Redshift suits AWS-centred stacks, while Databricks suits teams that keep open lakehouse tables beside machine learning.

Last updated: Proudly published by: Jeff Wahl13 min read

What is the best cloud data warehouse?

The best data warehouse is the one whose billing meter matches how your queries arrive. All 4 products run fast columnar SQL over large tables, and on a fair benchmark the engines trade wins. What separates them in production is what each one counts and bills when nothing is running, plus how much of the sizing work it leaves to you.

Pick Snowflake for warehouses you size and pause yourself, on any of the 3 big clouds, with a separate pool for every workload. BigQuery fits when your load is spiky or ad hoc on Google Cloud and you would rather never size anything, Redshift when the rest of the stack already lives in AWS, and Databricks when your tables should sit in open Delta Lake files that Spark jobs and SQL dashboards both read.

Prices change often, so this page sticks to the units and minimums the vendors document. Read list prices off the vendor's calculator on the day you buy.

Snowflake vs BigQuery vs Redshift vs Databricks at a glance

Snowflake
  • Billing unitCredits per second
  • Compute scalingSize plus clusters
  • Idle computeNone once suspended
  • Runs onAWS, Azure, GCP
  • Best fitMixed BI workloads
BigQuery
  • Billing unitBytes read or slots
  • Compute scalingSlot autoscaling
  • Idle computeNo slot charge
  • Runs onGoogle Cloud
  • Best fitSpiky ad hoc SQL
Redshift
  • Billing unitRPU-seconds or nodes
  • Compute scalingRPUs or node count
  • Idle computeNone when serverless
  • Runs onAWS
  • Best fitAWS-centred stacks
Databricks
  • Billing unitDBUs
  • Compute scalingWarehouse size
  • Idle computeAuto-stop
  • Runs onAWS, Azure, GCP
  • Best fitLakehouse plus ML

How cloud data warehouse pricing works

Every warehouse meters 1 of 2 things: time on a compute pool or data touched by a query. Snowflake and Databricks meter time, and so does Redshift Serverless. BigQuery offers both: on-demand queries bill the bytes they read, and its editions bill slot-hours, the time a unit of compute is allocated to you.

Time-based billing has a floor on every start. Snowflake bills per second with a 60 second minimum each time a warehouse starts, so a 10 second query on a suspended M warehouse (4 credits per hour) bills 60 seconds, 0.067 credits, about 6 times what 10 seconds would cost. A burst of tiny queries that keeps waking a warehouse pays that floor again and again, which is why auto-suspend delays belong in a cost review. Redshift Serverless has the same shape: 4 RPUs at $0.375 per RPU-hour in us-east-1 is $1.50 per hour, so the 60 second minimum charge is $0.025.

Data-based billing has a floor too, and it is easy to trip. BigQuery on-demand bills logical, uncompressed bytes, with a 10 MiB minimum per table a query references. A LIMIT clause doesn't reduce the bytes read from a table that isn't clustered, so SELECT * ... LIMIT 10 pays for the whole table. Partitioning and clustering, a dry run before a heavy query and a maximum bytes billed cap are the controls, and the cap fails a query before it incurs a charge. BigQuery's capacity model bills slot-hours with a 60 second minimum by default.

Which meter wins depends on arrival pattern. A few rare, selective queries on well-clustered tables favour bytes read, because nothing is allocated between them. A steady stream of dashboard queries favours time on a right-sized pool, because the pool stays busy and its price is spread over many queries. When a load is both, the sound design is 2 pools or 2 billing modes, one per pattern, which is only possible because storage is shared between them.

Prepare for the interview
01 / Open invite
02min.

Know Cloud Data Warehouse Comparison the way the interviewer who asks it knows it.

a Cloud Data Warehouse Comparison query, the same shape a screen would give you.
The diff against expected. Where ties broke. What you missed.
sandbox
1source → bronze → silver → gold
2 ingest : CDC + Kafka
3 transform : dbt + Airflow
4 serve : Snowflake
5
Execute your solution0.4s avg.

Storage and compute separation: why every modern warehouse has it

Older warehouses tied disks and CPUs together in the same nodes, so adding query power meant buying storage you didn't need and the reverse. Modern warehouses keep tables in cloud object storage and run queries on compute pools that attach to it. Compute becomes something you can resize or stop without touching the data.

The practical gain is workload isolation. A nightly load and a dashboard refresh can each get their own pool over the same tables, and analysts can have a third, each sized to the job. With Snowflake sizes, a Large pool for loads (8 credits per hour), an X-Small for dashboards (1) and a Medium for analysts (4) bill 13 credits per hour only while all 3 run, and a heavy load never queues a dashboard.

3 compute pools side by side, load jobs at 8 credits per hour, dashboards at 1 credit per hour and analysts at 4 credits per hour, each connected by its own line to one shared copy of the tables below them3 compute pools side by side, load jobs at 8 credits per hour, dashboards at 1 credit per hour and analysts at 4 credits per hour, each connected by its own line to one shared copy of the tables below them

Each product does this its own way. Snowflake virtual warehouses are the pools. BigQuery separates storage from the slots that execute queries. Redshift RA3 nodes and Redshift Serverless use managed storage billed apart from compute, at $0.024 per GB-month in US East (N. Virginia). Databricks SQL warehouses read Delta tables that sit in your own cloud storage. The one real difference is who owns the data files: Databricks leaves them in open Parquet, while the others hold them in storage that only their own engine reads.

Snowflake: separate warehouses on any cloud

Snowflake runs on AWS and Azure as well as Google Cloud, and its unit of work is the virtual warehouse. Billing is per second, and a suspended warehouse uses no credits. Auto-suspend and auto-resume are on by default, so an idle warehouse costs nothing and the next query wakes it. Cloud services, which cover metadata and optimization, are billed only for the part of a day's usage that exceeds 10% of that day's warehouse credits.

The edition decides features, not speed. Standard keeps Time Travel to 1 day and has no multi-cluster warehouses. Enterprise extends Time Travel to 90 days and adds multi-cluster warehouses and materialized views. Row and column security come with it, as do query acceleration and search optimization. Business Critical adds customer-managed keys and private connectivity, and account failover for regulated data. Credit price depends on edition and region, so read it from Snowflake's pricing guide.

Snowflake is strong where many teams share one account: per-workload warehouses and simple resizing, with a SQL surface that analysts pick up fast. Its weak spot is cost discipline, because a forgotten large warehouse with a long auto-suspend burns credits quietly. The Snowflake interview questions cover how teams ask about it.

How Snowflake warehouse sizes and credits work

Standard warehouses come in 10 sizes, from X-Small at 1 credit per hour to 6X-Large at 512. Each size up doubles the credits per hour, so the largest warehouse burns 512 times the credits of the smallest, as the Snowflake warehouse documentation lists. Credits convert to money at your edition and region's credit price.

Doubling the size doubles the hourly rate, and it halves the run time only for work that spreads across all the added compute. A query that scans a large table in parallel often finishes in close to half the time, so the bill stays about the same and the wait drops. A query that is bound by one slow step does not speed up, so it costs twice as much. Test a query at 2 adjacent sizes before you standardise on the larger one.

Concurrency is a separate dial. A multi-cluster warehouse, an Enterprise feature, adds identical clusters when queries queue. In Auto-scale mode the Standard policy favours preventing queues, while Economy starts a new cluster only when about 6 minutes of work exists for it. The cluster cap falls as size rises: 300 clusters for X-Small to Medium, 160 for Large, 80 for X-Large and 10 for 4X-Large and above. Resize for single heavy queries, add clusters for many light ones.

Snowflake credits per hour by warehouse size

Standard (Gen1) warehouses, credits per hour while running, from the Snowflake documentation.

BigQuery: serverless analytics on Google Cloud

BigQuery has no warehouse to size. Queries run on slots, units of compute that Google allocates, and you choose how to pay for them: on-demand by bytes read, or through 1 of 3 editions that bill slot-hours. That makes it the easiest of the 4 to start on and the one where a single careless query can cost the most.

The editions split the product. Standard autoscales only, offers no commitments, caps a reservation at 1,600 slots and carries a 99.9% monthly SLO. Enterprise and Enterprise Plus add baseline slots alongside autoscaling, raise the SLO to 99.99%, and offer 1 year (20% discount) or 3 year (40% discount) commitments. Customer-managed keys, BigQuery ML, fine-grained security and VPC Service Controls start at Enterprise, and managed disaster recovery is Enterprise Plus only. These are all in the BigQuery editions documentation.

Design for the meter. Partition tables by date and cluster them by the columns you filter on, so a query reads only the blocks it needs. Run a dry run on any heavy query, which reports the bytes it will process as an upper bound, and set a maximum bytes billed so a mistake fails before it charges. BigQuery suits teams with bursty analysis, many one-off questions, and a stack on Google Cloud.

Amazon Redshift: the warehouse for AWS-centred stacks

Redshift is a columnar, massively parallel warehouse with data compression built in, and it comes in 2 forms. Provisioned clusters, including RA3 nodes with managed storage, give you fixed compute you size and pause. Redshift Serverless provisions and scales capacity for you and bills only while the warehouse is in use.

Serverless capacity is measured in Redshift Processing Units, each with 16 GB of memory. Base capacity runs from 4 to 1,024 RPUs. At $0.375 per RPU-hour in us-east-1, the floor of 4 RPUs (64 GB of memory) runs $1.50 per hour and the ceiling of 1,024 RPUs runs $384.00 per hour. Billing is per second with a 60 second minimum charge.

On provisioned clusters, each cluster earns up to 1 hour of free Concurrency Scaling credits a day, accumulating to 30 hours, so occasional spikes cost nothing extra. Redshift reaches into S3 data lakes and operational databases through the same SQL, and its IAM and Glue integrations, plus Kinesis, make it the low-friction choice when everything else already runs in AWS. Check feature dependencies before you commit: AWS stops supporting Python UDFs after June 30, 2026, with enforcement in phases.

Databricks SQL: the lakehouse approach

Databricks starts from the data lake and adds warehouse behaviour on top. Tables are Delta Lake tables: Parquet data files extended with a file-based transaction log that provides ACID transactions. The log follows an open protocol, and Delta Lake is the default format for every table on Databricks. Spark jobs and machine learning training read the same files that SQL dashboards query, with no copy into a warehouse.

SQL queries run on SQL warehouses. Databricks recommends the serverless type where it is available (pro and classic are the others): compute is instant and elastic, and Databricks manages capacity and tuning. A stopped warehouse restarts when a query runs against it or a scheduled job is assigned to it. It also restarts when a JDBC or ODBC connection opens or a dashboard that uses it is opened. Usage is metered in DBUs, whose rate depends on the compute type, so read the current rate from the pricing calculator.

The trade is operational. Databricks gives the most control over the files and the broadest workload range, from streaming to machine learning, and it asks the team to own more of the table layout and governance. Data engineers who run Spark pipelines already often find it the shortest path. The Snowflake vs Databricks interview guide walks through how the 2 get compared in a loop.

Data warehouse tools around the warehouse

Load and transform
KafkaEvent streams
AirbyteOpen-source connectors
FivetranManaged connectors
dbtSQL models and tests
SparkHeavy transforms
AirflowScheduling
Check and serve
Great ExpectationsChecks as code
LookerGoverned BI
TableauVisual analysis
MetabaseOpen-source BI

Which data warehouse tools does a stack need?

A warehouse is one box in a chain, and most of a data engineer's daily work happens on either side of it. Data arrives through connectors or a stream, a transformation layer turns raw tables into modelled ones, an orchestrator runs the steps in order, checks catch bad data before a dashboard shows it, and a BI layer serves the result.

Choose the warehouse and the transformation layer together. dbt runs on all 4 products here, so SQL models travel between them, while Spark-heavy teams lean toward Databricks because the engine they already use is the platform. Other engines are worth a look at the edges, including ClickHouse for real-time analytics and DuckDB for local and embedded work, but they solve narrower problems than the 4 above.

How these pieces fit together is the content of data pipeline design, and it is what interviewers probe when they ask you to draw a warehouse-centred stack. The data pipeline interview questions and data pipeline practice problems work through that design.

How to choose a cloud data warehouse

Start with where the data and the team already are. A company that runs on AWS, with sources in S3 and RDS and streams in Kinesis, pays less friction for Redshift. A company on Google Cloud that pulls exports from Google Analytics and Ads gets BigQuery nearly free of setup. A multi-cloud company, or one that does not want its warehouse tied to its cloud, looks first at Snowflake and Databricks.

Then measure your own workload. Take the 10 heaviest queries and the 10 most frequent, run them on each candidate with realistic data volumes, and compute the cost of each meter: bytes read for per-query billing, size multiplied by seconds for time-based billing, with the minimum applied. Add the idle cost of the pools you would keep running, and the engineering time each product asks for, since a cheaper meter that needs a person to tune it is often the dearer choice.

Finally check the constraints that rule products out: compliance features (Snowflake Business Critical, BigQuery Enterprise Plus), the open file format you need for non-SQL engines (Databricks), the concurrency you need at peak (multi-cluster warehouses, slot reservations, Redshift Concurrency Scaling) and the exit cost if you switch.

How warehouse choices come up in data engineering interviews

Interviewers rarely ask which warehouse is best. They ask you to choose one for a stated workload and defend it: a stream of events with dashboards on top, a nightly batch with a tight deadline, or a bursty set of analysts. The strong answer names the meter and the idle cost, and says how workloads stay isolated. It ends on the number that decides it.

Expect follow-ups on partitioning and clustering to cut bytes read, and on sizing and auto-suspend to cut time billed. Another is how you would keep a load job from starving a dashboard. For the format of those rounds, see the data engineer interview prep guide, and rehearse the design side with the data pipeline practice problems.

Cloud data warehouse comparison FAQ

What is the best cloud data warehouse?+
No single warehouse wins on every workload. Snowflake fits teams that want separate, resizable SQL warehouses on any of the 3 big clouds, BigQuery fits spiky ad hoc analysis on Google Cloud with no cluster to size, Redshift fits stacks that already live in AWS, and Databricks fits teams that keep data in open Delta Lake tables and run machine learning beside SQL.
What is the difference between Snowflake and BigQuery?+
Snowflake bills warehouse credits for the seconds a warehouse runs, with a 60 second minimum each time it starts. BigQuery bills either the logical bytes each query reads (on-demand) or the slot-hours of compute you reserve or autoscale (editions). You size a Snowflake warehouse yourself, while BigQuery allocates slots for you.
Which cloud data warehouse is cheapest?+
It depends on the shape of the load. Per-query billing is cheapest for rare, selective queries on partitioned or clustered tables. Time-based billing is cheapest when queries are frequent enough to keep a right-sized warehouse busy. Run your 10 heaviest real queries on each candidate and compare the meter, not the list price.
What does separating storage from compute mean?+
Tables live in shared storage while queries run on independent compute pools that you size and pause on their own and that are billed separately. 2 teams can read the same tables at the same moment without copying data or slowing each other down.
Is Databricks a data warehouse?+
Databricks SQL runs warehouse-style SQL on Delta Lake tables, so it can be the warehouse in a lakehouse. Its tables are Parquet files plus a transaction log in open storage, which differs from warehouses that keep data in a proprietary internal format.
What are the main data warehouse tools besides the warehouse itself?+
Loading tools (Kafka, Fivetran, Airbyte), a transformation layer (dbt, Spark), an orchestrator (Airflow), data quality checks (Great Expectations, dbt tests) and a BI layer (Looker, Tableau, Metabase). The warehouse is one box in that chain.
Is Redshift still worth choosing?+
For AWS-centred stacks it is a sound choice, and Redshift Serverless removes cluster sizing: it bills RPU-hours from a 4 RPU floor. Check feature dependencies first, because Redshift no longer supports Python UDFs after June 30, 2026.
02 / Why practice

The candidate who gets the offer

  1. 01

    Reading a solution is not the same as writing one

    Every engineer who has frozen on a query they had read a dozen times knows the gap. The only preparation that closes it is producing the answer yourself, under time, before the interview does it for you

  2. 02

    76% of hiring managers reject on the coding task, not the resume

    From HackerRank's 2024 Developer Skills Report. Candidates who look strong on paper still fail the live screen if they haven't done timed, executable practice

  3. 03

    System design comes down to the calls you defend out loud

    Ingestion, batch vs streaming, the bronze/silver/gold layers, idempotency, backfill and replay. Sketching the pipeline and naming the failure modes is the signal, not the boxes

Related guides