Snowflake Iceberg tables versus Databricks Delta?
Summary
- This is a choice of table format and catalog. Apache Iceberg tables in Snowflake keep data and metadata in cloud storage, cataloged by Snowflake or by an external catalog. Delta Lake is the default table format on Databricks, governed by Unity Catalog.
- Each platform works with the other format. Databricks creates managed Iceberg tables in Unity Catalog and exposes Delta Lake tables to Iceberg clients through Iceberg reads (UniForm). Snowflake can create an Iceberg table from Delta table files in object storage.
- External engines reach both through Iceberg REST catalogs. Snowflake's Horizon Iceberg REST Catalog API reads and writes Snowflake-managed Iceberg v2 and v3 tables, and the Unity Catalog Iceberg REST catalog serves managed Iceberg tables and Delta tables with Iceberg reads.
- The platforms can share tables. Snowflake documents a catalog integration for Unity Catalog, and Databricks documents Snowflake catalog federation, which reads Snowflake-managed Iceberg tables directly from cloud storage.
- Decide by which engines must write each table, which catalog should own it, and which format features your workloads use.
Snowflake Iceberg tables versus Databricks Delta?
Choose by who writes each table and which catalog owns it. Snowflake says its Apache Iceberg tables "combine the performance and query semantics of typical Snowflake tables with external cloud storage that you manage." Delta Lake is "the default format for all operations on Databricks," and Unity Catalog manages Apache Iceberg tables as well. Both formats are open source, and each vendor documents a way to read tables the other manages, so the decision rests on write paths and catalog ownership.
What each one is
The Apache Iceberg spec describes a table format "designed to manage a large, slow-changing collection of files in a distributed file system or key-value store as a table." Snowflake connects to external cloud storage for these tables through an external volume, "a named, account-level Snowflake object."
Delta Lake is "open source software that extends Parquet data files with a file-based transaction log for ACID transactions and scalable metadata handling." On Databricks, a new table is a Delta Lake table unless you specify otherwise.
Snowflake Iceberg tables vs Delta Lake on Databricks: how they compare
| Capability | Apache Iceberg tables in Snowflake | Delta Lake tables on Databricks |
|---|---|---|
| Format | Apache Iceberg; versions 1, 2 and 3 of the spec, with documented exclusions | Delta Lake; the default table format on Databricks |
| Catalog | Snowflake as the catalog, or an external catalog through a catalog integration | Unity Catalog |
| Where files live | Snowflake storage, or external cloud storage you manage through an external volume | Cloud object storage, as Unity Catalog managed tables or external tables in your cloud tenant |
| External engine reads | Horizon Iceberg REST Catalog API, for engines such as Apache Spark, Apache Flink, DuckDB and PyIceberg | Delta Lake connectors for engines such as Apache Spark and Apache Flink; Iceberg clients through Iceberg reads (UniForm) and the Unity Catalog Iceberg REST catalog |
| External engine writes | Reads and writes to Snowflake-managed Iceberg v2 and v3 tables through the Horizon Iceberg REST Catalog API | Iceberg client access to Delta tables is read-only; managed Iceberg tables in Unity Catalog accept writes from Iceberg engines |
| Reading the other format | CREATE ICEBERG TABLE over Delta table files in object storage |
Managed Iceberg tables in Unity Catalog; foreign Iceberg tables from other catalogs, read-only |
| Cross-platform path | A catalog integration for Unity Catalog through the Iceberg REST API, with read and write by default | Snowflake catalog federation reads Snowflake-managed Iceberg tables directly from cloud storage |
How to choose
- List the writers. Name every engine that must write each table. Iceberg reads (UniForm) give Iceberg clients read access to Delta tables. If external Iceberg engines must also write, use an Iceberg table in the catalog those engines connect to: a managed Iceberg table in Unity Catalog or a Snowflake-managed Iceberg table.
- Pick the catalog of record. Both vendors document fuller platform support for tables their own catalog manages. Snowflake documents full platform support when Snowflake is the catalog and limited support for external catalogs, and Databricks describes foreign Iceberg tables as read-only with limited platform support.
- Check format features. Compare the features your workloads rely on, such as deletion vectors, the VARIANT type and row lineage, against each platform's documentation. Snowflake lists its spec exclusions, and Databricks documents Iceberg v3 features for managed tables on Databricks Runtime 18 LTS and above.
- Plan for coexistence. Snowflake's Unity Catalog integration and Databricks' Snowflake catalog federation let each platform reach tables the other manages.
How Databricks approaches Delta Lake and Iceberg
Unity Catalog governs both formats. Managed tables are "the default and recommended table type in Databricks for Delta Lake and Apache Iceberg," and managed Iceberg tables became generally available on May 21, 2026. Predictive optimization runs OPTIMIZE, VACUUM and ANALYZE on managed tables in either format. To let Iceberg clients read an existing Delta table, enable Iceberg reads (UniForm). For an existing table, the documented statement needs Databricks Runtime 15.4 LTS and above:
ALTER TABLE table_name SET TBLPROPERTIES(
'delta.columnMapping.mode' = 'name',
'delta.enableIcebergCompatV2' = 'true',
'delta.universalFormat.enabledFormats' = 'iceberg');
Iceberg clients then read the table through the Unity Catalog Iceberg REST catalog at /api/2.1/unity-catalog/iceberg-rest.
FAQs
Can Snowflake read Delta Lake tables?
Yes. CREATE ICEBERG TABLE (Delta files in object storage) creates an Iceberg table in Snowflake "using Delta Lake metadata files in object storage," through a catalog integration and an external volume.
Can Databricks read Snowflake-managed Iceberg tables?
Yes. Snowflake catalog federation "allows Unity Catalog to read Snowflake Managed Iceberg tables directly from cloud storage." It needs Databricks Runtime 16.4 LTS or above, and foreign Iceberg tables are read-only in Databricks.
Can Snowflake write to Iceberg tables in Unity Catalog?
Yes. With a catalog integration for Unity Catalog, Snowflake's catalog-linked databases "support both read and write operations," so Snowflake can insert into, update and create Iceberg tables in Unity Catalog. Through the Iceberg REST catalog, only managed Iceberg tables accept external writes.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.