Catalogs that govern open tables: Apache Polaris, Project Nessie and Unity Catalog.
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 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 is Databricks’ unified governance layer for the lakehouse. Open-sourced in mid-2024 (Unity Catalog OSS, Apache 2.0), it has become the default…
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.
| Catalog | Origin | Formats | Distinctive feature | Choose when |
|---|---|---|---|---|
| Apache Polaris | Snowflake, donated to Apache | Iceberg (REST) | Reference-grade Iceberg REST implementation with RBAC and credential vending | You want a vendor-neutral Iceberg catalog shared across engines |
| Project Nessie | Dremio | Iceberg | Git-like branches, tags and multi-table commits | You need isolated experiments, CI for data, or atomic cross-table changes |
| Unity Catalog | Databricks, OSS version under LF AI & Data | Delta, Iceberg, plus volumes, models, functions | Unified governance of tables, files and AI assets with lineage | You 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.