Snowflake vs Databricks vs BigQuery: how enterprises choose

Snowflake vs Databricks vs BigQuery for a large company: architecture, Iceberg and catalogs, pricing models, EU residency, AI features and a decision table.

By Lucian Capdefier Published 9 min read

For most large companies, the choice between Snowflake, Databricks and BigQuery comes down to three things: which cloud you already have a contract with, whether your data teams mostly write SQL or Python, and how you want to govern data across engines. Snowflake suits SQL and BI-led estates that want a managed service on any of the three clouds. Databricks suits engineering-led teams with heavy data engineering, streaming and ML. BigQuery is the natural default when Google Cloud is already your main cloud.

This guide is for companies with 500 or more people that are choosing a platform or consolidating onto one. It focuses on what decides projects rather than on feature checklists. Vendor facts were checked against official documentation on 9 November 2026.

What is each platform in late 2026?

Snowflake

Snowflake is a managed SQL platform. You run compute as virtual warehouses, and storage is either Snowflake-managed or, for Apache Iceberg tables, files in your own S3, Cloud Storage or Azure storage. Python, Java and Scala run inside the platform through Snowpark. Governance lives in Horizon Catalog, which applies access control, masking and row-access policies at the query engine, so the same rules cover people, BI tools and AI agents (Snowflake docs).

Databricks

Databricks is a lakehouse platform built on Spark. Data sits in open formats (Delta Lake by default, with Iceberg also supported) and is governed by Unity Catalog. Unity Catalog covers tables, volumes, functions, models and AI services, with privileges, attribute-based policies, row and column filters, and automatic lineage (Databricks docs). SQL analytics runs on SQL warehouses, and Databricks recommends the serverless type where it is available. Unity Catalog also has an open-source implementation.

BigQuery

BigQuery is Google Cloud’s serverless warehouse. You do not size clusters. You choose how compute is billed and BigQuery allocates slots. Datasets have a location that is fixed at creation (locations). Python runs close to the data through BigQuery DataFrames. For open tables, BigQuery manages Iceberg tables in Cloud Storage buckets you own.

How do open table formats and catalogs change the decision?

Open table formats are the biggest change since most enterprises made their first cloud platform choice. In 2026 all three platforms can read and write Apache Iceberg. The table format matters less than the catalog, because the catalog decides which engine can find, write and govern a table.

SnowflakeDatabricksBigQuery
Native table formatSnowflake tables; Iceberg tables in Snowflake or your storageDelta Lake; managed Iceberg tablesBigQuery tables; managed Iceberg tables in your bucket
CatalogHorizon CatalogUnity CatalogLakehouse runtime catalog
Exposes an Iceberg REST catalogYes, read and write GA for Snowflake-managed Iceberg v2 and v3 tablesYes, for all Iceberg tables in Unity CatalogYes (the classic BigLake metastore does not)
Reads other catalogsCatalog integrations and catalog-linked databases (Glue, Iceberg REST catalogs)Foreign Iceberg tables from Glue, Hive metastore or Snowflake Horizon, read-onlySpark, Flink, Hive, Trino and BigQuery share one catalog

Sources: Snowflake Horizon Iceberg REST API, Databricks Iceberg, Google Lakehouse runtime catalog.

Some naming history explains what you will read in older articles. Snowflake open-sourced Polaris, and Apache Polaris graduated to a top-level Apache project in February 2026. Snowflake Open Catalog, the managed Polaris service, is still generally available, but new customers are directed to Horizon Catalog, which now integrates Polaris. On Google Cloud, the Lakehouse runtime catalog is the recommended successor to BigLake metastore. On Databricks, UniForm generates Iceberg metadata next to Delta, so Iceberg clients can read Delta tables without copying them. Those clients can only read.

The point for a buyer: in practice, “open” means read-open. Most engines can read most tables. Writes are safe when one catalog owns each table, and governance policies do not always travel with the data. For example, external engines cannot read views defined in Unity Catalog. Choose the catalog that owns your writes as carefully as you choose the engine.

How does each platform charge?

The models differ enough that a price-per-unit comparison misleads. Understand what each one meters and test with your own workload.

What you pay for computePurchase options
SnowflakeCredits for virtual warehouse time, billed per second with a 60-second minimum per start, plus serverless features and cloud services above 10% of daily warehouse usage (cost overview)On-demand or pre-paid capacity; Standard, Enterprise, Business Critical and Virtual Private Snowflake editions (pricing)
DatabricksDBUs, metered per second. On classic compute the VMs run in your cloud account and your provider bills them separately; serverless compute runs in Databricks’ account (architecture)Pay-as-you-go or committed use (pricing)
BigQueryEither on-demand bytes processed per query, or slot-hours in the Standard, Enterprise or Enterprise Plus editionEditions with optional 1-year or 3-year commitments on Enterprise and Enterprise Plus (editions, pricing)

What goes wrong in practice is predictable for each model. On Snowflake, warehouses are left running or sized up for one heavy job and never sized down. On Databricks with classic compute, the DBU line looks reasonable while the VM bill grows in a different invoice, owned by a different team. On BigQuery on-demand, a few analysts running SELECT * on wide, unpartitioned tables can dominate the month. Each vendor gives you the controls to prevent this. The work is making someone accountable for using them.

Storage is a smaller line in most enterprises. With Iceberg tables on your own storage (all three support this), you pay storage to your cloud provider.

Which clouds do they run on, and what about EU data residency?

Snowflake and Databricks run on AWS, Azure and Google Cloud (Snowflake regions, Databricks regions). Each Snowflake account sits in a single region, so a multi-cloud company ends up with several accounts. BigQuery runs on Google Cloud. BigQuery Omni can query S3 and Azure Blob Storage in a short list of regions, with real limits: no DML, no BigQuery ML, and no Standard or Enterprise Plus editions.

All three have EU regions. For EU residency, storage location is the easy part. The questions that deserve a written answer concern AI and processing features:

  • Snowflake Cortex can route inference to other regions. The CORTEX_ENABLED_CROSS_REGION parameter controls this. New organisations created after 9 March 2026 default to ANY_REGION. Set it to an EU value such as AWS_EU, or to DISABLED, on day one. Fewer models may be available as a result.
  • Databricks runs AI features as “Designated Services” within Databricks Geos. The Europe Geo covers the EEA, Switzerland and the UK. An admin setting controls whether processing can leave the workspace’s Geo. Check who owns that setting.
  • In BigQuery, the EU multi-region stores data only in Belgium or the Netherlands, and a dataset’s location cannot be changed later (locations). Choose locations as part of the landing zone design, not per project.

Which workloads fit each platform?

WorkloadSnowflakeDatabricksBigQuery
SQL BI and ad hoc analysisCore strengthStrong on SQL warehousesCore strength
Batch ELT with dbtStrongStrongStrong
Python and Spark data engineeringSnowpark covers much of itCore strengthBigQuery DataFrames; Spark through other Google Cloud services
StreamingSupportedStrong, Spark-basedSupported
Custom ML training and servingPossible, not the centreCore strength (MLflow, Model Serving, Feature Store)BigQuery ML in SQL; custom training elsewhere in Google Cloud
Many engines over one copy of the dataThrough Iceberg and HorizonThrough Unity Catalog and IcebergThrough Iceberg and the Lakehouse runtime catalog

The labels describe where each platform is strongest, not what it can do. All three can run any of these workloads. The difference is how much engineering effort each one takes.

What do the AI features actually offer?

All three now offer SQL functions that call LLMs, natural-language querying over governed data, and an agent framework. The product names change often, so check them before you write them into a business case.

These features rarely decide the platform on their own. The answers are only as good as the semantic layer and metric definitions underneath them. Check which features are GA in your region before planning around them.

How much does the ecosystem lock you in?

Less than it used to. dbt lists Snowflake, BigQuery and Databricks as generally available adapters. Fivetran lists all three as supported destinations. The main BI tools connect to all three. The lock-in that remains is in the parts you build around the engine: stored procedures, platform-specific Python, AI features, and the governance model.

What actually decides it in a large company?

Five factors usually outweigh any benchmark:

  1. The existing cloud commit. If you have a large committed spend with one hyperscaler, platform spend that counts toward it, typically through the cloud marketplace, changes the economics. Ask your account team, not a blog post.
  2. Team skills. Who will maintain this code in three years? A SQL and BI-heavy organisation running a Spark-first estate has a hiring problem. An engineering-led team will find a SQL-only platform limiting.
  3. EU residency and AI processing rules. These are covered above. Decide them before the first AI pilot, not after.
  4. The governance model. Ask whether you want one catalog to govern everything, or each engine to govern its own data with a neutral layer on top. That choice determines where policies live.
  5. What already runs. A Databricks ML estate or a Snowflake account used by finance changes the cost of every option.

A decision table: if most of this is true, lean this way

If most of this is trueLean
Most users write SQL; BI and scheduled ELT dominate; you want minimal platform engineering; you are on AWS or Azure, or several cloudsSnowflake
Data engineers write Python and Spark; streaming, feature engineering or custom ML are core; you want open formats on your own storage by defaultDatabricks
Google Cloud is your main cloud; you want no clusters or warehouses to size; your AI work is built on Google Cloud and GeminiBigQuery
Finance and BI already run on one platform while data science runs on another, and both workKeep both, share data through Iceberg, standardise transformations in dbt

Is running two platforms a failure?

Not necessarily. Many large enterprises run two, often Snowflake or BigQuery for BI and Databricks for engineering and ML. Running two goes wrong when nobody decides which platform holds the master copy of each dataset. The result is duplicate pipelines, conflicting numbers and two bills for the same transformation. If you run two, write down which platform holds each data domain, share it through Iceberg rather than copying it, and keep one transformation standard. If you are consolidating away from a legacy warehouse, the same decisions come up in our Teradata to Snowflake or Databricks playbook.

How do you keep the option to change platforms later?

Three habits keep switching costs reasonable:

  • Store data in open table formats. Iceberg, or Delta with UniForm, on storage you control, for the layers other engines need to read.
  • Keep transformations in dbt. Declarative SQL models with tests move between adapters far more easily than stored procedures do. Our dbt at enterprise scale post covers how to structure them.
  • Keep a catalog outside the engine. Platform catalogs govern their own platform well. A neutral metadata catalog gives you lineage and ownership across all of them. DataHub is one open-source option. Our notes on running DataHub in production cover what that involves.

None of this removes the platform choice. It makes the choice reversible at a cost you can estimate.

Where Duces fits

Our Data & AI practice assesses, designs, develops, implements, deploys and manages data warehouses and data lakes on-prem or on-cloud, with Snowflake, Databricks, Google Cloud Platform and dbt in the stack, including migration to cloud. Our Data Processing & Transformation Framework is a layered dbt warehouse that runs on BigQuery, Snowflake, Databricks and other dbt-supported warehouses, so the modelling does not change if you change platforms.

If you are choosing or consolidating a data platform, talk to the people who build it.

Frequently asked questions

Which is cheapest: Snowflake, Databricks or BigQuery?

None of them is cheapest in general, because they bill different things: Snowflake bills credits for warehouse time, Databricks bills DBUs plus, on classic compute, the cloud VMs, and BigQuery bills either bytes scanned or slot-hours. The only reliable comparison is your own workload. Run the same representative queries and pipelines on each shortlisted platform for a few weeks, with cost controls set, and compare the bills.

Can Snowflake and Databricks work on the same copy of the data?

Yes, through Apache Iceberg and the Iceberg REST catalog protocol. Snowflake can read tables from an external Iceberg REST catalog, including Unity Catalog, through a catalog integration or a catalog-linked database, and Databricks reads Snowflake Horizon Iceberg tables as foreign tables, read-only. Plan for one engine to own writes per table, and test the governance gaps before sharing regulated data.

Is Delta Lake or Apache Iceberg the safer bet for a new platform?

Both are open formats, and the practical question is which catalog will own your tables. Databricks writes Delta natively and can expose Delta tables to Iceberg readers with UniForm, or create managed Iceberg tables. Snowflake and BigQuery standardise on Iceberg for open tables. If more than one engine will read the data, Iceberg with a REST catalog keeps the most options open.

Do we need Spark skills to use Databricks?

Not for SQL analytics. Databricks SQL warehouses serve BI and ad hoc SQL, and dbt runs on them. Spark and Python skills matter once you build complex data engineering, streaming or machine learning pipelines on Databricks, which is usually why companies choose it. A SQL-only team will get value from it, but will not use most of what they pay for.

Can BigQuery query data stored in AWS or Azure?

Partly. BigQuery Omni queries data in Amazon S3 and Azure Blob Storage through BigLake tables, in a limited set of regions, including AWS Ireland and Frankfurt. It runs only on Enterprise edition reservations or on-demand pricing, and it does not support DML or BigQuery ML. It suits occasional cross-cloud analysis, not a primary warehouse on another cloud.

Sources

  1. docs.snowflake.com/en/user-guide/tables-iceberg
  2. docs.snowflake.com/en/user-guide/tables-iceberg-query-using-external-query-engine-snowflake-horizon
  3. docs.snowflake.com/user-guide/opencatalog/overview
  4. docs.snowflake.com/en/user-guide/snowflake-horizon
  5. docs.snowflake.com/en/user-guide/cost-understanding-overall
  6. snowflake.com/en/pricing-options
  7. docs.snowflake.com/en/user-guide/intro-regions
  8. docs.snowflake.com/en/user-guide/snowflake-cortex/aisql
  9. docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst
  10. docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-agents
  11. docs.snowflake.com/en/user-guide/snowflake-cortex/cross-region-inference
  12. docs.snowflake.com/en/developer-guide/snowpark/index
  13. polaris.apache.org/blog/2026/02/19/apache-polaris-graduates-to-top-level-project
  14. snowflake.com/en/blog/apache-polaris-top-level-project
  15. docs.databricks.com/aws/en/iceberg
  16. docs.databricks.com/aws/en/delta/uniform
  17. docs.databricks.com/aws/en/data-governance/unity-catalog
  18. docs.databricks.com/aws/en/getting-started/high-level-architecture
  19. docs.databricks.com/aws/en/compute/serverless
  20. docs.databricks.com/aws/en/compute/sql-warehouse
  21. databricks.com/product/pricing
  22. docs.databricks.com/aws/en/resources/supported-regions
  23. docs.databricks.com/aws/en/resources/databricks-geos
  24. docs.databricks.com/aws/en/genie
  25. docs.databricks.com/aws/generative-ai/agent-bricks
  26. docs.cloud.google.com/bigquery/docs/iceberg-tables
  27. docs.cloud.google.com/bigquery/docs/about-blms
  28. cloud.google.com/bigquery/pricing
  29. docs.cloud.google.com/bigquery/docs/editions-intro
  30. docs.cloud.google.com/bigquery/docs/omni-introduction
  31. docs.cloud.google.com/bigquery/docs/locations
  32. docs.cloud.google.com/bigquery/docs/gemini-overview
  33. docs.cloud.google.com/bigquery/docs/generative-ai-overview
  34. docs.cloud.google.com/bigquery/docs/conversational-analytics
  35. docs.cloud.google.com/bigquery/docs/bigquery-dataframes-introduction
  36. docs.getdbt.com/docs/supported-data-platforms
  37. fivetran.com/docs/destinations

Related articles