liveBook · Manning

Chapter 7: Implementing the catalog layer

What you will learn in chapter 7 of Architecting an Apache Iceberg Lakehouse

Introduces the catalog as the metadata and coordination layer of an Iceberg lakehouse and explains why catalog selection must fit organizational needs.

After this chapter you will be able to

What it builds on

Section by section

Introduction

Introduces the catalog as the metadata and coordination layer of an Iceberg lakehouse and explains why catalog selection must fit organizational needs.

Key terms: catalog layer, table metadata, namespaces, coordination, governance, interoperability, scalability, architectural constraints, compliance needs, operational goals

7.1 The role of the catalog in Apache Iceberg lakehouses

The section explains how Iceberg’s versioned metadata and catalog work together to give multiple engines a consistent way to find and update tables.

Key terms: metadata versions, atomic replacement, consistent views, catalog, coordination layer, current state, compute engines, table locations, namespaces, transactional updates

7.1.1 Responsibilities of the catalog

This section explains how the Iceberg catalog helps engines find tables, organize them, identify their current metadata, and coordinate safe commits.

Key terms: table registration, discovery, metadata location, metadata location management, table identifier, transactionally, versioned table history, namespaces, table discovery, access control

7.1.2 Catalog interactions with query and processing engines

This section traces how engines use the catalog and Iceberg metadata to resolve tables, plan work, commit writes, and access table history.

Key terms: catalog, table resolution, metadata file, snapshot planning, statistics, file-level metadata, data-skipping, predicate pushdown, commit coordination, catalog’s pointer

7.2 Evaluating catalog requirements

The section explains why catalog selection should begin with organizational requirements rather than technical features alone.

Key terms: catalog layer, organizational requirements, stakeholder interviews, technical audits

7.2.1 Performance, availability, and scale

This section explains how to evaluate an Iceberg catalog for performance, availability, and scalability under expected lakehouse workloads.

Key terms: catalog, metadata lookups, table planning, query execution, availability, catalog uptime, clustering, multiregion replication, managed failover, scalability

7.2.2 Metadata governance and lineage

This section explains how to evaluate an Iceberg catalog’s governance capabilities, from organizing and securing tables to tracing and auditing metadata changes.

Key terms: catalog, system of record, metadata governance, namespaces, identity providers, RBAC, ABAC, fine-grained authorization, tables, credential vending

7.2.3 Security and compliance

This section explains how to evaluate a catalog’s access controls, metadata protection, and regulatory compliance capabilities.

Key terms: catalog, identity and access management (IAM), fine-grained permissions, catalog metadata, encryption in transit, encryption at rest, data residency, audit trails, metadata retention and deletion, metadata lifecycle policies

7.2.4 Deployment flexibility and ecosystem compatibility

This section explains how to evaluate an Iceberg catalog’s deployment options, network placement, and compatibility with the tools around it.

Key terms: deployment flexibility, standalone services, managed services, REST-based catalogs, network placement, throughput, concurrency, round-trip latency, metadata operations, table resolution

7.2.5 Cost and operational overhead

This section explains how to evaluate a catalog’s long-term cost and operational burden alongside its features.

Key terms: self-managed catalogs, managed services, operational overhead, vendor lock-in, monitoring and observability, structured logs, alerting systems, documentation, community support, operational simplicity

7.2.6 Catalog federation and mesh architectures

Explains how federated catalogs give independently governed Iceberg environments a unified view, why organizations adopt them, and what capabilities to evaluate.

Key terms: federated catalog architecture, catalog mesh, namespace, unified, global view, data sovereignty, data residency, decentralized teams, single point of failure, consistent APIs, namespace resolution

7.3 Apache Iceberg REST Catalog specification

This section explains why client-specific catalog integrations made multi-engine Iceberg use fragile and how a common REST interface improves interoperability.

Key terms: engine-specific client libraries, commit coordination, metadata updates, catalog service, Apache Iceberg REST Catalog specification, HTTP-based interface, catalog operations, interoperability

7.3.1 Before the Apache Iceberg REST Catalog specification

Explains why pre-REST Iceberg catalog integrations were fragile: language-specific clients duplicated catalog and transaction logic, creating correctness risks and slowing development.

Key terms: commit coordination, conflict detection, metadata updates, transactional guarantees, Hive Metastore (HMS), language-specific client libraries, feature completeness

7.3.2 The solution

This section explains how the Iceberg REST Catalog specification replaces catalog-specific client integrations with a common interface and enables more responsibility to move into the catalog.

Key terms: Apache Iceberg REST Catalog specification, engine-neutral HTTP-based API, compliant catalog, language-independent protocol, scan planning, manifest parsing, centralized commit APIs, conflict resolution, policy enforcement

7.4 Catalog options: Exploring the ecosystem

Introduces the main categories of Apache Iceberg catalogs and the deployment tradeoffs that distinguish them.

Key terms: Hadoop catalog, JDBC catalog, self-managed, managed services, table metadata, coordinating transactions, multi-engine access

7.4.1 Hadoop catalog

This section explains how the Hadoop catalog manages Iceberg table metadata through a filesystem and why it is mainly a legacy or transitional choice.

Key terms: Hadoop catalog, warehouse root, metadata references, namespaces, centralized transaction coordination, concurrent writes, remote access, service-oriented catalog

7.4.2 Hive catalog

This section explains how the Hive catalog supports gradual Iceberg adoption through an existing Hive Metastore, while arguing against it for new deployments.

Key terms: Hive catalog, Hive Metastore (HMS), Hive integration layers, namespace operations, fine-grained role-based access control, REST Catalog API, Apache Iceberg Hive Catalog plugin, service-oriented catalogs

7.4.3 JDBC catalog

Explains how Iceberg’s JDBC catalog stores shared catalog state in a relational database and when its benefits and limits make it a practical choice.

Key terms: JDBC catalog, metadata pointers, namespace, SQL transactions, ACID guarantees, atomic updates, centralized metadata store, concurrent writes, single-node architecture, backing store

7.4.4 Apache Polaris

This section explains how Apache Polaris coordinates Iceberg metadata across engines, manages internal and external catalogs, and controls access, along with its deployment tradeoff.

Key terms: Apache Polaris, Iceberg REST Catalog specification, metadata pointers, internal catalogs, external catalogs, read-only, service principals, principal roles, catalog roles, RBAC

7.4.5 Project Nessie

This section explains how Project Nessie adds versioned catalog coordination to Iceberg and when its benefits justify a separate service.

Key terms: metadata coordination layer, commit, version log, branches, tags, merge, mainline, cross-table transactions, single commit, atomicity

7.4.6 Apache Gravitino

This subsection explains how Apache Gravitino unifies metadata and governance across Iceberg and other data systems, and where its breadth brings benefits and tradeoffs.

Key terms: metalake, catalogs, schemas, tables, filesets, models, Apache Iceberg REST Catalog interface, connectors, centralized metadata hub, role-based policies

7.4.7 Lakekeeper

This section describes Lakekeeper’s deployment model, catalog APIs, tenant isolation, and governance features as an Apache Iceberg REST Catalog option.

Key terms: standalone binary, Iceberg REST API, Management API, PostgreSQL, multi-tenant architectures, projects, warehouses, object store location, OpenFGA, custom authorizers

7.4.8 AWS Glue Data Catalog

This section explains how AWS Glue Data Catalog supports Iceberg tables, how AWS Glue jobs use Iceberg, and when the managed AWS catalog is a good fit.

Key terms: AWS Glue Data Catalog, metadata catalog, REST endpoint, Iceberg tables, AWS Glue Spark engine, --datalake-formats iceberg, GlueCatalog, S3FileIO, custom JARs, AWS Lake Formation

7.4.9 Dremio catalog

This section describes Dremio catalog’s Polaris-based interoperability, enterprise features, managed operation, and fit for organizations using Dremio.

Key terms: Dremio catalog, Apache Polaris, Iceberg REST Catalog specification, compatible engine, RBAC, row-level filters, column masking, lineage graphs, natural language discovery, compaction

7.4.10 Snowflake Open Catalog

This section describes how Snowflake Open Catalog provides managed, REST-compatible access to Iceberg tables across engines, and explains its catalog types, security controls, and tradeoffs.

Key terms: Snowflake Open Catalog, Apache Iceberg REST Catalog specification, Apache Polaris, multi-engine access, internal catalogs, external catalogs, credential-vended access, base directory hierarchy, RBAC, principal roles

7.4.11 Databricks Unity Catalog

This section explains how Databricks Unity Catalog combines governance with Iceberg support and when it may fit an Iceberg lakehouse.

Key terms: Unity Catalog, shared catalog layer, fine-grained access control, lineage, native Iceberg support, external Iceberg tables, cloud object storage, interoperability, Databricks, Delta

7.5 Choosing the right catalog: Evaluating options through scenarios

The section frames catalog selection as a context-dependent evaluation rather than a search for one universally best option.

Key terms: Iceberg REST Catalog specification, governance and access control, operational overhead, performance and scale, community and support

7.5.1 Scenario: A mid-sized data team migrating from Hive

This scenario shows why a team migrating gradually from Hive chooses the Hive catalog first while leaving room to change catalogs as its lakehouse evolves.

Key terms: Hive catalog, Hadoop catalog, Hive Metastore (HMS), Nessie, Polaris

7.5.2 Scenario: A rapidly scaling cloud-native startup

This scenario explains why an AWS-focused, fast-growing startup chooses AWS Glue Data Catalog now while keeping a cloud-agnostic catalog in mind for future expansion.

Key terms: AWS Glue Data Catalog, Apache Iceberg, fully managed, serverless, Polaris, Iceberg REST specification, cloud-agnostic, cloud portability, Lake Formation

7.5.3 Scenario: A multinational enterprise with strict data governance

This scenario explains why a multinational healthcare enterprise selects Apache Gravitino for federated metadata governance across regions, clouds, and on-premises systems.

Key terms: Apache Gravitino, federated governance, unified governance layer, REST Catalog specification

7.5.4 Scenario: A SaaS startup prioritizing operational simplicity

This scenario shows why a small AWS-based SaaS team chooses AWS Glue Data Catalog for its Iceberg lakehouse.

Key terms: AWS Glue Data Catalog, Apache Iceberg, Athena, Glue ETL, Lakekeeper, JDBC catalog

7.5.5 Scenario: A large enterprise with multicloud and federated governance needs

This scenario explains why a global financial firm chooses Apache Gravitino for a multicloud Iceberg lakehouse with federated metadata and consistent governance.

Key terms: Apache Gravitino, federated metadata lake, unified governance, Iceberg REST, extensibility

7.5.6 Scenario: A financial firm requiring daily environment cloning for stress testing

This scenario explains why a financial firm chooses Nessie to create reproducible, isolated stress-test environments without copying production data.

Key terms: Nessie, Git-like branching, isolated metadata views, zero-copy cloning, catalog-level branching, tagging, multitable zero-copy cloning, CI/CD workflows

7.5.7 Scenario: Phased Iceberg migration with query federation across legacy systems

This scenario explains why an enterprise migrating in phases from legacy systems to Iceberg selects the Dremio catalog to preserve analytics access and governance during the transition.

Key terms: Dremio catalog, query federation, Iceberg tables, single SQL interface, Hadoop catalog, JDBC catalog, Polaris, Gravitino, AWS Glue Data Catalog, row-level security

7.5.8 Scenario: A lightweight lakehouse adoption with Hadoop catalog and Python

This scenario shows why a Python-focused startup chooses a lightweight Hadoop catalog and PyIceberg setup to begin using Iceberg without adding catalog infrastructure.

Key terms: Hadoop catalog, REST catalogs, PyIceberg, filesystem paths, Amazon S3, REST-based, enterprise-grade catalog, table layout, pipelines

7.6 Catalog-based access control

Explains how Iceberg catalogs can centralize lakehouse access control, use scoped storage credentials, and accommodate current limits in fine-grained security.

Key terms: catalog-centric model, RBAC, namespaces, control plane, credential vending, short-lived, scoped credentials, object storage, coarse-grained controls, fine-grained access control, FGAC

7.7 Summary

Where this is used later

Concepts explained in this chapter

← Chapter 6: Architecting the ingestion layer Chapter 8: Designing the federation layer →

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.