Unity Catalog is an Apache-2.0 catalog hosted by the LF AI & Data Foundation that governs Delta, Iceberg, and Hudi tables alongside files, functions, and AI models, speaking both the Hive metastore API and the Iceberg REST catalog API.
A Java 17 server from a tarball, Docker image, or Helm chart, with a UI alongside and MySQL or PostgreSQL behind it. Managed tables are Delta only; Parquet, ORC, JSON, CSV, and Avro attach as external tables. Governance is eighteen object-level privileges with OAuth, OIDC, and SCIM2. Table maintenance stays with whichever engine writes the table.
How Unity Catalog answers the questions Table Catalogs turns on.
| How it works | |
| Protocol | Three surfaces, and a fourth that is claimed rather than implemented. Its own OpenAPI REST API over the three-level namespace; the UC Delta API added in 0.5.0, where Delta clients create, load, alter and commit catalog-managed tables with the server validating commits before they land; and an Iceberg REST catalog that is read-only, config, list and load namespaces and tables, existence checks, and nothing that writes. Hive metastore compatibility is stated once on the project's documentation home and has no endpoint in the server behind it |
| What it catalogs | The broadest answer on the page, and the reason this column exists, catalogs, schemas, tables, volumes holding unstructured files, functions as SQL and Python UDFs, registered models with versions, plus credentials and external locations as first-class objects, with metric views arriving in 0.6.0. Where the other rows resolve table names, this one is a governance interface for data and AI assets together |
| Branching and versioning | Delta's, which is time travel by table version rather than anything git-style, no branches, no tags, no cross-table commits. What the catalog adds is commit coordination: catalog-managed Delta commits go through the server, which validates them and tracks the ones not yet backfilled |
| Running it | |
| Maintenance | None: the server catalogs and governs, and compaction, vacuum and file cleanup stay with whichever engine writes the table, exactly as they did before a catalog existed. Worth stating rather than leaving blank, because the two managed rows on this page have started automating it |
| What you run | A Java 17 server, from a tarball, the Docker image or the Helm chart, with a UI alongside it. An H2 database is the default (in memory when the environment is test, a local file when it is dev) and MySQL or PostgreSQL are configured through Hibernate for anything real, which is the step the default quietly leaves out |
| Connections | |
| Table formats | Delta first and by design, managed tables are Delta and nothing else, with the server refusing a non-Delta managed table outright, while Parquet, ORC, JSON, CSV, Avro and text are supported as external tables. Iceberg and Hudi arrive through UniForm rather than natively: a Delta table carrying Iceberg metadata, readable by an Iceberg client through the read-only endpoint |
| Engine support | Spark through per-Spark-version connector artifacts, and Trino, DuckDB, Daft, XTable, Celerdata, Kuzu, PuppyGraph and Spice AI as documented integrations. The asymmetry is the one in the protocols: the Delta path is where engines write, and an engine arriving with only an Iceberg REST client can read UniForm tables but cannot write through that endpoint |
| Access | |
| Access control | Eighteen privileges granted per securable (CREATE CATALOG, USE SCHEMA, SELECT, MODIFY, EXECUTE, READ VOLUME, READ and WRITE FILES and the rest) with an admin holding a metastore token, OAuth and OIDC for users and services, and SCIM2 for user provisioning. Object-level and no finer: no row filters, no column masks, no tags, which is the clearest line between this and the Databricks product of the same name |
| Storage credentials | Four vending endpoints rather than one (tables, volumes, model versions and paths) each returning AWS temporary credentials, an Azure user delegation SAS or a GCP OAuth token with an expiry the client is told to cache against. Credential and external-location objects hold the underlying cloud identity, and the Delta API covers vending for both reads and writes |
| Cost | |
| Billing unit | Nothing to meter. Apache-2.0 with no commercial edition of the open-source project, so the cost is the server, the database behind it and the cloud storage underneath, the vendor product sharing the name is a separate thing entirely |
vs Unity Catalog: Self-hosted · Managed
vs Unity Catalog: Commercial · Managed · Free · Subscription · Operational complexity: Low
vs Unity Catalog: Commercial · Managed · Serverless · Subscription · Operational complexity: Low