StarRocks + Paimon: 构建 Lakehouse Native 数据引擎
作者:张庆玉,阿里云计算平台事业部开发工程师 本文整理自 Streaming Lakehouse Meetup 活动分享,阿里云计算平台事业部开发工程师张庆玉分享的 StarRocks 与 Apache Paimon 的深度集成实践,探讨如何构建真正意义上的 Lakehouse Native 数据引擎。 在数据湖已成为企业数字化转型重要基础设施的当下,如何在一个统一的计算引擎中高效处理多种数据源,成为业界关注的焦点。StarRocks 通过与 Paimon 的深度融合,正逐步构建一套完整的 Lakehouse Native 解决方案——不仅支持多源联邦分析,更在性能、功能与可观测性上实现系统性突破。 StarRocks 与 Paimon 的结合,首先体现在统一的架构设计理念上。借助统一的 Catalog 机制,StarRocks 能够在一个引擎内同时管理内部表和外部数据湖(如 Paimon 表),并支持跨 Catalog 的联邦查询。 这种设计延续了 StarRocks 存算分离的核心思想。虽然数据存储在远端的数据湖中,但查询执行仍能充分利用 StarRocks 在 OLAP 场景下的全部优化能力——从底层的 CPU 指令集加速、向量化执行引擎,到 I/O 层面的缓存策略与合并读取,都可无缝应用于 Paimon 表的查询过程。这使得数据湖不再只是“冷存储”,而真正成为高性能分析的一部分。 StarRocks 对 Paimon 的支持并非一蹴而就,而是经历了多个版本的持续打磨。 StarRocks 完善了 Profile 指标体系,覆盖 plan 与执行两个阶段。在 plan 阶段,用户可查看 manifest 缓存命中率、远程读次数、谓词下推效果及最终扫描文件数,用于判断是否需调大缓存或优化查询条件。在 BE 执行阶段,则能清晰区分 JNI 与 native 读取的比例——若 JNI 占比较高,可能提示需要对表进行 full compaction,或考虑切换至 DV 表模式。 StarRocks 的长期目标很明确:让查询 Paimon 的性能与体验对齐查询 StarRocks 本地表。 目前,BE 执行层的差距已不大——两者均基于列存格式(如 Parquet/ORC),具备类似索引结构,I/O 优化策略也高度通用。真正的挑战在于 FE 的 plan 阶段:Paimon 的 manifest 解析可能因 cache miss 触发高延迟的远程读,导致 plan 耗时波动,影响整体查询稳定性。 未来工作将聚焦于消除 plan 阶段的 latency-sensitive IO,通过更智能的缓存预热、异步解析、元数据压缩等手段,使 Paimon 查询的延迟变得稳定、可预测,彻底告别“毛刺”。 StarRocks 与 Paimon 的深度融合,代表了现代湖仓架构的重要演进方向。它不只是“能查数据湖”,而是真正“懂数据湖”——从架构统一、功能完善到性能极致优化,每一步都围绕真实业务场景展开。 这套 Lakehouse Native 方案已在阿里集团内部多个高并发、低延迟场景中落地验证,为电商、物流、金融等业务提供坚实支撑。随着社区生态的持续壮大,我们有理由相信,StarRocks + Paimon 将成为企业构建下一代实时数据平台的核心引擎。StarRocks 数据湖总体架构:单一引擎,多源联邦分析

StarRocks+Paimon 发展历程
StarRocks+Paimon 最新进展
功能增强
VERSION AS OF 或 TIMESTAMP AS OF 查询历史快照或指定时刻的数据。这一能力在数据审计、故障回滚、AB Test 等场景中具有重要价值,让数据湖具备了更强的时间维度管理能力。

性能优化



可观测性:完善 profile 指标

未来规划:性能对齐内表
结语