暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

StarRocks + Paimon: 构建 Lakehouse Native 数据引擎

StarRocks 2026-02-12
191

作者:张庆玉,阿里云计算平台事业部开发工程师

本文整理自Streaming Lakehouse Meetup 活动分享,阿里云计算平台事业部开发工程师张庆玉分享的 StarRocks 与 Apache Paimon 的深度集成实践,探讨如何构建真正意义上的 Lakehouse Native 数据引擎。

在数据湖已成为企业数字化转型重要基础设施的当下,如何在一个统一的计算引擎中高效处理多种数据源,成为业界关注的焦点。StarRocks 通过与 Paimon 的深度融合,正逐步构建一套完整的 Lakehouse Native 解决方案——不仅支持多源联邦分析,更在性能、功能与可观测性上实现系统性突破。

StarRocks 数据湖总体架构:单一引擎,多源联邦分析

StarRocks 与 Paimon 的结合,首先体现在统一的架构设计理念上。借助统一的 Catalog 机制,StarRocks 能够在一个引擎内同时管理内部表和外部数据湖(如 Paimon 表),并支持跨 Catalog 的联邦查询。

这种设计延续了 StarRocks 存算分离的核心思想。虽然数据存储在远端的数据湖中,但查询执行仍能充分利用 StarRocks 在 OLAP 场景下的全部优化能力——从底层的 CPU 指令集加速、向量化执行引擎,到 I/O 层面的缓存策略与合并读取,都可无缝应用于 Paimon 表的查询过程。这使得数据湖不再只是“冷存储”,而真正成为高性能分析的一部分。

StarRocks+Paimon 发展历程

StarRocks 对 Paimon 的支持并非一蹴而就,而是经历了多个版本的持续打磨。

  • StarRocks 3.1首次引入 Paimon 外表,通过 JNI (Java Native Interface)实现基本读取能力,并支持 Paimon 物化视图加速查询和谓词下推。这一阶段主要解决“能不能用”的问题。

  • StarRocks 3.2性能迎来显著提升—— FE 计划阶段引入 Metadata cache,缓存表分区和 manifests 等元数据,大幅加快计划生成;同时支持表级与列级统计信息采集,提升执行计划质量。3.2 版本还实现了物化视图的分区级别刷新功能,避免了全量刷新带来的资源浪费。此外,该版本进一步增强了对 Paimon DV 表的支持——StarRocks 查询引擎现在可以通过 Native Reader 直接读取 DV 表,相比之前基于 MOR(Merge-On-Read)表结构的 JNI 读取实现,读取性能获得大幅提升,尤其适用于高吞吐、低延迟的实时分析场景。

  • StarRocks 3.3标志着 StarRocks 向 Lakehouse Native 迈出关键一步,多项核心特性相继落地——相关细节将在下文逐一展开。

StarRocks+Paimon 最新进展

1

功能增强

  • Time TravelStarRocks 现已支持通过 VERSION AS OF
      TIMESTAMP AS OF
     查询历史快照或指定时刻的数据。这一能力在数据审计、故障回滚、AB Test 等场景中具有重要价值,让数据湖具备了更强的时间维度管理能力。

  • Paimon Format Table作为 Paimon 的一种兼容 Hive 格式的表类型,它允许用户将现有 Hive 表直接迁移到 Paimon,而 StarRocks 能无缝识别并高效查询,极大降低了迁移成本。

2

性能优化

  • Native Reader/Writer在未开启 DV 的情况下,MOR 表需要在查询时实时合并多个版本的增量数据,只能通过 JNI 调用 Java 层处理,存在类型转换、行列格式转换、JVM GC 等开销,效率低下且易引发 OOM。如今,StarRocks 基于 Paimon CPP SDK,在 BE 的 C++ 代码中直接实现 Paimon Native Scanner,实测显示 MOR 表读取性能提升超过 5 倍。写入侧同样受益,Native Writer 显著提升了写入吞吐。

  • Distributed Plan: 面对超大规模表(数十万文件),manifest 解析曾是 FE 的性能瓶颈。为此,StarRocks 引入 Distributed Plan 机制,当 manifest 数量过多时,FE 将解析任务分发至多个 CN 节点并行执行,各节点完成本地谓词下推后返回所需文件列表。这一设计使 plan 阶段的解析能力随 BE 资源线性扩展,有效缓解单点压力。

  • DV Index Cache在高并发查询 Paimon 主键表时,index manifest 的全局反序列化会造成严重读放大——即使只查一个分桶,也要加载全量索引。于是,DV Index Cache 应运而生:按桶级别缓存 DV index 对象,避免重复解析。由于缓存的是 Java 对象而非序列化字节,还省去了反序列化开销。实测表明,该优化在高并发场景下 QPS 提升超 80%。

主键表点查在高并发下导致 FE CPU 和内存负载过高,

主要因 Plan 阶段频繁从缓存读取 index manifest

3

可观测性:完善profile指标

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 

StarRocks 是隶属于 Linux Foundation 的开源 Lakehouse 引擎 ,采用 Apache License v2.0 许可证。StarRocks 全球社区蓬勃发展,聚集数万活跃用户,GitHub 星标数已突破 11,000,贡献者超过 500 人,并吸引数十家行业领先企业共建开源生态。

StarRocks Lakehouse 架构让企业能基于一份数据,满足 BI 报表、Ad-hoc 查询、Customer-facing 分析等不同场景的数据分析需求,实现 "One Data,All Analytics" 的业务价值。StarRocks 已被全球超过 600 家市值 70 亿元人民币以上的顶尖企业选择,包括中国民生银行、沃尔玛、携程、腾讯、美的、理想汽车、Pinterest、Shopee 等,覆盖金融、零售、在线旅游、游戏、制造等领域。

行业优秀实践案例



泛金融:中国民生银行平安银行中信银行四川银行南京银行宁波银行中原银行中信建投|苏商银行微众银行杭银消费金融马上消费金融中信建投申万宏源西南证券中泰证券国泰君安证券广发证券国投证券中欧财富创金合信基金泰康资产人保财险随行付


互联网:微信|小红书|淘宝闪购滴滴B站携程同程旅行芒果TV得物贝壳汽车之家哈啰腾讯音乐饿了么七猫金山办公Pinterest欢聚集团美团餐饮58同城网易邮箱360腾讯游戏波克城市37手游游族网络|喜马拉雅|ShopeeDemandbase爱奇艺阿里集团Naver首汽约车 |Cisco


新经济:蔚来汽车|理想汽车|吉利汽车顺丰|京东物流|跨越速运沃尔玛屈臣氏麦当劳大润发|华润集团|TCL |万物新生百草味多点 DMALL酷开科技|vivo聚水潭泸州老窖中免集团蓝月亮立白美的伊利公牛碧桂园

文章转载自StarRocks,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论