Apache Pinot 1.5 介绍与选型指南
面向用户侧与智能体侧实时分析的分布式 OLAP 数据库 Apache Pinot 1.5(1.5.1):Controller/Broker/Server/Minion 架构、流批一体摄入、官方 Quick Start 与 Druid/ClickHouse/StarRocks 选型对比。
Apache Pinot 1.5 介绍与选型指南
目标:讲清 Apache Pinot 1.5(1.5.1,面向用户侧/智能体侧实时分析的分布式 OLAP 数据库)的定位、架构、核心机制与同类实时 OLAP 引擎选型对比。本文为认知篇,全部论断基于官方文档与官方发行渠道联网溯源(查询日期 2026-10-18),不做本地安装实测。
一、信息基准
- 查询日期:2026-10-18(本文所有版本号、星标数、发布日期均在该日联网核验)。
- 版本依据:官网横幅「Apache Pinot 1.5.1 is available now」,GitHub Release 与 Maven Central
org.apache.pinot:pinot-core最新稳定版均为 1.5.1(2026-06-30),downloads.apache.org 发行目录当前仅保留 apache-pinot-1.5.1,多渠道一致。另有 1.6.0-rc0(2026-10-17)为下一大版本预览,非稳定版。 - 官方来源清单:
| 来源 | 地址 |
|---|---|
| 项目主页(定位与新闻) | https://pinot.apache.org/ |
| 官方文档(概念/架构/快速上手) | https://docs.pinot.apache.org/ |
| Quick Start 示例(launcher 脚本) | https://docs.pinot.apache.org/start-here/quick-start |
| 架构页 | https://docs.pinot.apache.org/architecture-and-concepts/concepts/architecture |
| 代码仓库 | https://github.com/apache/pinot |
| Maven Central | https://repo1.maven.org/maven2/org/apache/pinot/pinot-core/ |
二、软件概述
2.1 项目定位与版本
Apache Pinot 1.5.1(本文介绍对象,当前最新稳定版,2026-06-30 发布)是官方定位的「面向用户侧与智能体侧实时分析的开源分布式 OLAP 数据库」:从交互式仪表盘到 LLM 决策引擎,Pinot 在 PB 级数据规模上对新鲜数据(fresh data)提供亚秒级查询(来源:项目主页)。Pinot 诞生于 LinkedIn,用于支撑 Who Viewed Profile 等交互式实时分析应用,由 LinkedIn 与 Uber 工程师构建(来源:官方文档),可从 Kafka/Kinesis 等流与 HDFS/S3/ADLS/GCS 等批数据源摄入并即刻查询。
版本节奏方面:1.5.0(2026-05-04)→ 1.5.1(2026-06-30);1.6.0-rc0 预览版(2026-10-17)的发布说明显示下一大版本将引入 SQL DDL(CREATE TABLE/DROP TABLE/SHOW TABLES 等)与物化视图 DDL 等能力(来源:GitHub Releases)。
2.2 许可与社区
采用 Apache-2.0 许可,ASF 顶级项目;GitHub 星标约 6.2k(徽章服务实时读数,查询日期 2026-10-18),社区由 LinkedIn/Uber 等实践者长期反哺,是用户侧实时分析领域的主流开源选择之一。
三、核心架构
依据官方架构文档(Architecture 页):
3.1 设计目标与原则
- 官方量化的设计指标:超低查询延迟(P95 可低至 10ms)、高并发(可达 10 万 QPS)、高新鲜度(流数据摄入即可查)、大数据量(至 PB 级);
- 分布式设计原则:无单点故障(配合表副本配置)、水平可扩展(Server 与 Broker 两类节点独立扩展查询量/复杂度/数据量)、数据不可变假设(同时支持流实体数据的 upsert 与后台数据清除)、动态配置变更。
3.2 四类节点与集群状态
- Controller:基于 Apache Helix 的集群控制器,在元数据变化或节点故障时调度与再调度资源,多实例间选主(Helix 选主),无主时集群仍可服务查询但不能做元数据修改;提供管理表/段等资源的 REST 接口;
- Broker:接收 SQL 查询(HTTP JSON 接口),按路由策略把查询分发到持有相关段的 Server 并合并结果;单阶段引擎直接路由,多阶段引擎(multi-stage engine)则由 Broker 生成执行计划分发给各阶段 Server;
- Server:承载 segment 并就地处理查询;按惯例分「离线 Server」(批量摄入的段,常按存储容量扩展)与「实时 Server」(从 Kafka/Pulsar/Kinesis 消费,先写入内存 consuming segment 立即可查,再周期性刷盘成 completed segment);
- Minion(可选):独立硬件上的后台任务执行节点,如把 Avro/JSON 批数据转成段文件、按 GDPR 等要求重写段清除记录;
- Helix + ZooKeeper:ZooKeeper 保存集群状态(Controller 主节点、Server/Broker 配置与健康、表与 schema、段的副本位置与在线状态等);
- Deep store:离线摄入时段先写入深度存储,再由 Server 下载。
四、功能特性
- 列式存储与索引:列存配合多种索引与预聚合技术(官方文档表述),支撑任意模式的高并发用户查询;
- 流批一体摄入:实时表(Kafka/Pulsar/Kinesis)与离线表(CSV/Avro/Parquet)两种表类型,段级副本与副本感知路由;
- SQL 查询:Broker HTTP JSON 接口收发 SQL;内置 Query Console(默认 9000 端口)可视化查询;单阶段与多阶段双引擎(官方 SSE/MSE 文档);
- 面向智能体的分析(官方主页 Agent-Facing Analytics):基于流数据的新鲜 RAG 上下文、毫秒级决策引擎(竞价/风控/定价信号)、智能体可观测性;
- 多租户隔离:tenant 机制把不同微服务团队的表隔离,支持「100k+ 并发用户查询」的嵌入式分析场景(官方主页表述)。
五、快速上手
以下步骤引自官方 Quick Start 示例页的「Batch Processing」launcher 脚本方式(来源:https://docs.pinot.apache.org/start-here/quick-start ,查询日期 2026-10-18;前置条件为已本地安装 Pinot 发行包):
1. 一条命令启动单进程示例集群(启动 ZooKeeper、Controller、Broker、Server 四组件):
./bin/pinot-admin.sh QuickStart -type batch
该示例会自动创建 baseballStats 表、对样例 CSV 执行独立摄入作业生成并推送一个 segment、随后发出示例查询。
2. 打开 Query Console 并查询(官方 10 分钟 Quick Start 中的示例查询):
浏览器访问 http://localhost:9000,执行:
SELECT playerName, sum(runs) AS totalRuns
FROM baseballStats
GROUP BY playerName
ORDER BY totalRuns DESC
LIMIT 10
官方 Quick Start 还提供 batch JSON、流式(streaming)、hybrid 等多种 -type 示例,命令形式相同(见官方 Quick Start Examples 页)。
六、适用场景与限制
适用场景:
- 用户侧实时分析:产品内嵌仪表盘、客户自助分析、指标 API(排行榜、用量计费、实时报表),要求亚秒延迟与高并发;
- 智能体侧分析:LLM/RAG 需要基于流式新鲜数据做接地查询、实时决策引擎;
- 流批一体的 OLAP 平台:同一引擎覆盖 Kafka 流摄入与离线段导入;
- 多团队多租户共享集群,需要 tenant 级隔离。
限制与注意:
- 组件面较多(Controller/Broker/Server/Minion + ZooKeeper + 深度存储),生产部署需要较强的平台运维能力;
- 数据以不可变段为模型,虽然支持 upsert 与后台清除,但面向频繁原地更新的负载并非其设计目标;
- 版本演进较快(1.5.0→1.5.1 不足两月,1.6.0-rc0 已出),升级需关注引擎行为变化。
七、同类选型对比
同为「实时/交互式 OLAP」路线的对比(数据联网实查于 2026-10-18;星标为徽章服务实时读数):
| 维度 | Apache Pinot 1.5.1 | Apache Druid 38.0.0 | ClickHouse 26.9 | StarRocks 4.1.6 |
|---|---|---|---|---|
| 开源许可 | Apache-2.0 | Apache-2.0 | Apache-2.0 | Elastic License 2.0 / Apache-2.0 双许可 |
| GitHub stars | 约 6.2k | 约 14.1k | 约 50.5k | 约 12.2k |
| 最近发版 | 1.5.1 @2026-06-30(1.6.0-rc0 @2026-10-17 预览) | 38.0.0 @2026-09-30 | 26.9.21.9-stable @2026-10-17(26.8 为 LTS 线) | 4.1.6 @2026-09-30(另有 4.0.16/3.5.21 维护线) |
| 版本节奏 | 中速:季度级大版本加补丁 | 大版本序号推进(34→38),月级维护版 | 极高频:月度大版本、日级补丁 | 多线并行,月级补丁 |
| 兼容矩阵/机制 | Helix+ZooKeeper 集群,Controller/Broker/Server/Minion 四类节点,段不可变 + 流式 consuming segment,单/多阶段 SQL 引擎 | 同为流批摄入的实时分析数据存储,段化列存,原生 JSON/时间序列能力 | 单机起家的列存分析型数据库,MPP 集群,向量化执行见长 | 兼容 MySQL 协议的 MPP 数据库,主键模型支持实时更新,湖仓联邦查询 |
选型建议:极致的用户侧高并发亚秒查询(含智能体实时接地)选 Pinot;事件/时序实时分析且生态以 Kafka 为中心的也常对比 Druid;以复杂多表 JOIN 与 MySQL 生态兼容为先的选 StarRocks;通用极致单表分析性能与自运维团队选 ClickHouse。
八、参考链接
- 项目主页:https://pinot.apache.org/
- 官方文档:https://docs.pinot.apache.org/
- Quick Start Examples:https://docs.pinot.apache.org/start-here/quick-start
- Architecture(四类节点与 Helix/ZooKeeper):https://docs.pinot.apache.org/architecture-and-concepts/concepts/architecture
- 代码仓库(含 Releases):https://github.com/apache/pinot
- Maven Central:https://repo1.maven.org/maven2/org/apache/pinot/pinot-core/