Apache Pinot 1.5 介绍与选型指南

面向用户侧与智能体侧实时分析的分布式 OLAP 数据库 Apache Pinot 1.5(1.5.1):Controller/Broker/Server/Minion 架构、流批一体摄入、官方 Quick Start 与 Druid/ClickHouse/StarRocks 选型对比。

Apache PinotApache PinotOLAP查询引擎大数据Apache2026/10/18

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 Centralhttps://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.1Apache Druid 38.0.0ClickHouse 26.9StarRocks 4.1.6
开源许可Apache-2.0Apache-2.0Apache-2.0Elastic 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-3026.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。

八、参考链接