Comparing lakehouse catalogs

Which catalog should govern the tables?

The catalog choice is mostly a governance decision: all of them can point engines at tables, but they differ sharply in how they handle permissions, credential vending, and whether their API is open enough to swap later.

Open APIAccess controlCredential vendingBest suited to
Apache Polaris Iceberg REST, open sourceRole based, fine grainedYesMulti-engine estates wanting an open governed catalog
Project Nessie Iceberg REST plus its own APIBasicLimitedTeams that want Git-style branching over data
AWS Glue Data Catalog Proprietary, with an Iceberg REST endpointIAM and Lake FormationVia Lake FormationEstates already committed to AWS
Unity Catalog Open sourced, Databricks ledRich, unified across assetsYesDatabricks-centred platforms
Hive Metastore Thrift, ubiquitous but datedMinimalNoLegacy compatibility rather than new builds
Lakekeeper Iceberg REST, open sourceRole basedYesLightweight self-hosted deployments

Choosing

  • Several engines from different vendors need the same tables An Iceberg REST catalog such as Polaris or Lakekeeper
  • Everything runs inside one cloud provider That provider's managed catalog, accepting the coupling
  • You need experimentation branches over production data Nessie, for its branching model
  • You are migrating off Hive An Iceberg REST catalog, and plan the migration as its own project

Caveats

  • Credential vending is the feature that most often decides this in practice. Without it, every engine needs its own long-lived storage credentials, which undoes much of the governance benefit.
  • The Iceberg REST specification is what makes catalogs swappable. A catalog that implements it can usually be replaced; one that does not, cannot.

Related reference entries