Lakehouse Catalogs

Catalogs that govern open tables: Apache Polaris, Project Nessie and Unity Catalog.

Apache Polaris

Apache Polaris is an open-source REST catalog for Apache Iceberg, originally built and open-sourced by Snowflake in 2024 and subsequently donated to the…

Project Nessie

Project Nessie is an open-source “Git-for-data” catalog for Apache Iceberg, started by Dremio. It treats data tables the way Git treats source code…

Unity Catalog

Unity Catalog is Databricks’ unified governance layer for the lakehouse. Open-sourced in mid-2024 (Unity Catalog OSS, Apache 2.0), it has become the default…

1. What a lakehouse catalog does

Catalog between engines and open tables Spark Trino Flink Snowflake / DuckDB Catalog names, pointers, permissions, credentials Iceberg / Delta tables on object storage S3, ADLS, GCS

Open table formats such as Iceberg and Delta Lake keep data and metadata as files in object storage, but something still has to answer "which metadata file is the current version of sales.orders?" and perform the atomic swap when a writer commits. That is the catalog. Modern lakehouse catalogs add governance on top: namespaces, grants on catalogs, schemas and tables, auditing, and credential vending, where the catalog hands an engine short-lived storage credentials scoped to one table instead of giving every engine broad bucket access. The Iceberg REST catalog specification has become the common protocol, so one catalog can serve many engines.

2. Comparing the catalogs

CatalogOriginFormatsDistinctive featureChoose when
Apache PolarisSnowflake, donated to ApacheIceberg (REST)Reference-grade Iceberg REST implementation with RBAC and credential vendingYou want a vendor-neutral Iceberg catalog shared across engines
Project NessieDremioIcebergGit-like branches, tags and multi-table commitsYou need isolated experiments, CI for data, or atomic cross-table changes
Unity CatalogDatabricks, OSS version under LF AI & DataDelta, Iceberg, plus volumes, models, functionsUnified governance of tables, files and AI assets with lineageYou are on Databricks or want governance beyond tables

The choice usually follows the platform: Databricks shops use Unity Catalog, Snowflake-centric Iceberg deployments often use Polaris (Snowflake Open Catalog is its managed form), and teams that want version-control semantics over data pick Nessie. Because all three speak the Iceberg REST protocol to some degree, engines can often be pointed at a different catalog without rewriting table data.

Table formatsSection Query enginesSection Lakehouse overviewSection