Apache Polaris 1.8 介绍与选型指南
Apache Iceberg 开源目录 Apache Polaris 1.8(1.8.0):Iceberg REST API 多引擎互操作、RBAC 与凭据下发、JDBC/MongoDB 后端、官方二进制快速上手与 Nessie/Gravitino/Lakekeeper 选型对比。
Apache Polaris 1.8 介绍与选型指南
目标:讲清 Apache Polaris 1.8(1.8.0,Apache Iceberg 的开源目录/Catalog,实现 Iceberg REST API)的定位、架构、核心机制与同类开放表目录选型对比。本文为认知篇,全部论断基于官方文档与官方发行渠道联网溯源(查询日期 2026-10-18),不做本地安装实测。
一、信息基准
- 查询日期:2026-10-18(本文所有版本号、星标数、发布日期均在该日联网核验)。
- 版本依据:官网文档与 Releases 均以 1.8.0 为最新版;ASF DOAP 记录 1.8.0 发布于 2026-09-28,downloads.apache.org/polaris/1.8.0/ 发行目录(polaris-bin-1.8.0.tgz/.zip)目录时间戳同为 2026-09-28,多渠道一致。
- 官方来源清单:
| 来源 | 地址 |
|---|---|
| 项目主页(定位) | https://polaris.apache.org/ |
| Releases(版本导航) | https://polaris.apache.org/releases/ |
| 1.8.0 文档:Getting Started | https://polaris.apache.org/releases/1.8.0/getting-started/ |
| 1.8.0 文档:Binary Distribution | https://polaris.apache.org/releases/1.8.0/getting-started/binary-distribution/ |
| 1.8.0 文档:Access Control / Metastores | https://polaris.apache.org/releases/1.8.0/managing-security/ 与 /releases/1.8.0/metastores/ |
| 发行目录 | https://downloads.apache.org/polaris/ |
二、软件概述
2.1 项目定位与版本
Apache Polaris 1.8.0(本文介绍对象,当前最新版,2026-09-28 发布)是官方定位的「面向数据与 AI 资产的开放目录(The open catalog for data and AI assets)」:一个功能完整的 Apache Iceberg 开源 Catalog,实现 Iceberg REST API,为 Apache Doris、Apache Flink、Apache Spark、Dremio OSS、StarRocks、Trino 等广泛的计算引擎/平台提供跨引擎互操作(来源:项目主页)。除表目录外,官方文档还覆盖访问控制、凭据下发(vended credentials)、策略(policy)、多 metastore 后端与云对象存储对接等企业化能力。
项目治理方面:Polaris 由 Apache 孵化器毕业为 ASF 顶级项目(TLP),ASF 官方委员会名录记载 Polaris PMC 于 2026-02 成立(来源:ASF projects/committees 官方注册数据);官网版本导航显示 1.0.0 至 1.8.0 共 11 个版本,2026 年内已连续发布 1.4.x–1.8.0 多个版本,节奏活跃。
2.2 许可与社区
采用 Apache-2.0 许可,ASF 顶级项目;GitHub 星标约 2.1k(徽章服务实时读数,查询日期 2026-10-18)。社区背后有 Snowflake 捐赠起源背景(Polaris 原以 Apache Polaris(孵化)之名进入 ASF),现按 ASF 流程治理。
三、核心架构
依据官方 1.8.0 文档结构(Getting Started / Configuration / Managing Security / Metastores / Federation 各节):
3.1 服务形态与接口
- Polaris 以独立服务进程提供 Iceberg REST Catalog API 与管理 API,官方提供预构建二进制发行包(polaris-bin)、Helm Chart 与 Python 客户端(发行目录四类工件:主程序、iceberg-catalog-migrator、helm-chart、python-client);
- 服务端口约定(官方 Binary Distribution 文档):8181 为主 REST API,8182 为管理接口(健康检查
q/health与指标q/metrics); - 请求经认证后进入访问控制层,官方文档提供 RBAC(Access Control)、Keycloak 身份提供方、OPA 外部策略决策点(External PDP)三套治理路径。
3.2 持久化、存储与联邦
- Metastore 后端(官方 Metastores 文档):关系型 JDBC(含 Postgres、CockroachDB 指南)与 NoSQL MongoDB 两类持久化方案;
- 对象存储:官方指南覆盖 S3、GCS、Azure Blob 以及 Ozone、Ceph、RustFS 等自建对象存储,支持带 TLS 的存储与凭据下发(vended credentials);
- Federation(联邦):官方文档描述 Iceberg REST Federation、Hive Metastore Federation 与 BigQuery Metastore Federation,可将既有元数据体系纳入统一目录;
- 配套工具:Admin Tool、命令行 CLI、Iceberg Catalog Migrator(目录迁移)、Polaris MCP Server、Benchmarks、Synchronizer、Console 等官方工具集(1.8.0 文档 Tools 章节)。
四、功能特性
- Iceberg REST API 一等实现:为 Spark/Trino/Flink/Doris/StarRocks/Dremio OSS 等引擎提供统一目录入口,一次接入多引擎互操作(官方主页);
- 企业级安全:命名空间/表级 RBAC 访问控制、Keycloak 对接、OPA 外部策略决策、凭据下发减少客户端直连云存储的长期凭证暴露(官方 Managing Security 与 Vended Credentials 文档);
- 数据与 AI 资产统一目录:官方定位将表与 AI 相关资产纳入同一目录视图;
- 灵活后端:JDBC(Postgres/CockroachDB)与 MongoDB 双持久化路线,覆盖云上与自建环境;
- 迁移与运维工具链:官方 Iceberg Catalog Migrator 支持既有目录迁入;Helm Chart 支持生产部署;Prometheus/Jaeger 遥测指南开箱可循。
五、快速上手
以下步骤引自官方 1.8.0 文档 Binary Distribution 页(来源:https://polaris.apache.org/releases/1.8.0/getting-started/binary-distribution/ ,查询日期 2026-10-18)。前置条件:本机已安装 Java SE 21 或更高。
1. 下载并解压二进制发行包:
POLARIS_VERSION=1.8.0
curl -Lf https://downloads.apache.org/polaris/${POLARIS_VERSION}/polaris-bin-${POLARIS_VERSION}.tgz | tar xzf -
cd polaris-bin-${POLARIS_VERSION}
2. 启动 Polaris 服务:
bin/server
服务将监听 http://localhost:8181(主 REST API)与 http://localhost:8182(管理接口,健康检查与指标)。健康端点为 http://localhost:8182/q/health 与 http://localhost:8182/q/metrics,可用以下命令确认服务状态:
curl http://localhost:8182/q/health
3. 后续:按官方 Quickstart/Deploying Polaris 文档配置 metastore 与对象存储,创建 catalog 并用 Spark/Trino 等引擎经 Iceberg REST API 接入。
六、适用场景与限制
适用场景:
- 以 Iceberg 为核心表格式构建湖仓/数据平台,需要一个中立的、多引擎共享的 REST 目录服务;
- 多引擎环境(Spark + Trino + Flink + Doris/StarRocks 等)需要统一元数据与统一权限(RBAC/OPA/Keycloak);
- 需要把既有 Hive Metastore/BigQuery 元数据联邦进统一目录,或从其他 Iceberg 目录迁移(官方 Migrator 工具);
- 自建对象存储(Ozone/Ceph/RustFS)与多云存储并存的混合环境。
限制与注意:
- Polaris 本身是目录服务而非查询/存储引擎,需与 Iceberg 表格式及至少一个计算引擎配套使用;
- 1.x 系列迭代快(2026 年内 1.4.x→1.8.x),生产升级需跟踪版本变更;
- 部分能力处于官方标注的早期阶段(如 Generic Table 标注 Beta),采用前需按 1.8.0 文档逐项确认。
七、同类选型对比
同为「开放表目录 / 元数据湖」路线的对比(数据联网实查于 2026-10-18;星标为徽章服务实时读数):
| 维度 | Apache Polaris 1.8.0 | Nessie 0.109.0 | Apache Gravitino 1.3.1 | Lakekeeper 0.14.1 |
|---|---|---|---|---|
| 开源许可 | Apache-2.0 | Apache-2.0 | Apache-2.0 | Apache-2.0 |
| GitHub stars | 约 2.1k | 约 1.5k | 约 3.3k | 约 1.5k |
| 最近发版 | 1.8.0 @2026-09-28 | 0.109.0 @2026-10-08 | 1.3.1 @2026-09-30 | 0.14.1 @2026-10-16 |
| 版本节奏 | 1.x 稳定线,年月级连续发版 | 0.x 快速迭代,约两周一小版 | 1.x 稳定线,补丁月级 | 0.x 快速迭代,双周级 |
| 兼容矩阵/机制 | ASF TLP;Iceberg REST API 一等实现;JDBC/MongoDB 后端;HMS/BigQuery 联邦与目录迁移工具 | 以 Git 式分支/提交模型为 Iceberg 提供版本化目录后端 | ASF TLP;元数据湖定位,统一管理 Hive/Iceberg/JDBC 等多类 catalog 与授权 | 开源 Iceberg REST 目录,轻量部署,S3 签名代理等云存储细节活跃打磨 |
选型建议:要「ASF 治理 + 企业级 RBAC/凭据下发 + 官方迁移工具」的 Iceberg REST 目录,选 Polaris;需要 Git 式数据版本化工作流的选 Nessie;要跨异构 catalog 的统一元数据湖与授权面,选 Gravitino;追求轻量、专注 Iceberg REST 且云存储兼容性打磨及时的选 Lakekeeper(商业闭源路线可另评 Databricks Unity Catalog)。
八、参考链接
- 项目主页:https://polaris.apache.org/
- Releases 导航:https://polaris.apache.org/releases/
- 1.8.0 Getting Started / Binary Distribution:https://polaris.apache.org/releases/1.8.0/getting-started/
- 1.8.0 Managing Security(RBAC/OPA/IdP):https://polaris.apache.org/releases/1.8.0/managing-security/
- 1.8.0 Metastores(JDBC/MongoDB):https://polaris.apache.org/releases/1.8.0/metastores/
- 发行目录:https://downloads.apache.org/polaris/
- 代码仓库:https://github.com/apache/polaris