Apache Polaris is an open-source, REST-based catalog service for Apache Iceberg. It centralizes table metadata and coordinates secure access across engines such as Spark, Flink, Trino, and Snowflake, while remaining separate from data and metadata files stored in cloud object storage. section 7.4.4
Polaris combines several catalog responsibilities:
- Supports internal catalogs, where Polaris manages table registration and updates, and external catalogs, where synchronized tables remain read-only. section 7.4.4
- Applies layered RBAC through service principals, principal roles, and catalog roles with catalog-, namespace-, and table-level privileges. section 7.4.4
- Uses temporary credential vending so query engines can access cloud storage without receiving permanent storage credentials. section 7.4.4
- Provides a vendor-neutral coordination point for environments spanning on-premises and cloud storage, including S3, ADLS, and GCS. section 4.5.1 section 7.4.4
Central catalog for a hybrid bank
Hamerliva Bank selects Polaris as its central catalog because it supports the Iceberg REST Catalog specification, integrates with the bank’s identity provider, and provides one place to manage datasets across on-premises and cloud environments. Time travel and an atomic commit log strengthen traceability and reliability. section 4.5.1
Polaris improves interoperability and governance but remains an operational dependency: a damaged catalog entry can sever access to intact Iceberg data and metadata. Recovery requires restoring catalog functionality or registering the table against the correct metadata.json location; transactional guarantees improve consistency and rollback options. section 11.3.1
Figure 4.6 The Hamerliva Bank architectural proposal shows how the components relate to one another.
Use the architecture figure to trace Polaris’s position between storage, table metadata, processing engines, federation, and business-user consumption. section 4.5.1
