作者:StarRocks TSC Member、镜舟科技 CTO——张友东
本文基于镜舟科技 CTO、StarRocks TSC 成员张友东在 StarRocks Connect 2025 活动上的主题分享整理而成。围绕大会的核心主题——“数据与世界的连接”,本文将从三个维度进行阐述:
在过去五年中,StarRocks 始终保持着快速迭代。今年 10 月,StarRocks 即将发布 4.0 版本,至此已经完成了从 1.0 到 4.0 的四次重要升级。
过去几年,StarRocks 得到了全球众多知名企业的广泛采用。仅我们直接接触到的,就有超过 500 家估值 10 亿美元以上的公司在使用 StarRocks,而在更广阔的开源社区中,实际用户数量远超这一数字。
目前,StarRocks 的应用已经遍布全球:
可以说,StarRocks 已经逐步实现了全球范围的覆盖。展望未来,我们相信,StarRocks 将会像 Oracle、MySQL、PostgreSQL 一样,成为数据分析领域耳熟能详的名字,并成为更多企业的首选。
当前的数据分析应用正面临新的挑战。从场景演进的角度来看,现代化数据分析正在从 Business Analytics 向 Operational Analytics 拓展。
在这两类场景中,对数据分析的要求存在显著差异。以常见的几个核心维度为例:数据新鲜度、查询延时、查询并发。在 Operational Analytics 中,这些要求远高于传统的 Business Analytics。例如,数据新鲜度需要达到秒级或分钟级的实时;面向客户的查询延时必须控制在秒级以内;而在面向 Agent 的场景下,查询并发量更是成倍提升。因此,新的运营分析场景对数据系统提出了前所未有的挑战。
面对当前的挑战,Lakehouse 已成为数据分析架构发展的主要趋势。StarRocks 早在几年前便持续推动 Lakehouse 在国内的发展,并不断分享相关实践。如果在过去,仍有人对这一趋势持怀疑态度,那么经过近几年的行业巨变,Lakehouse 已逐渐被证明是数据分析的未来基础。如今,大多数企业正在建设 Lakehouse,使数据能够在 Data Lake 中统一存储,并同时支持 AI 和 BI 场景的使用。
然而,理想与现实之间仍存在差距。当前,直接在 Data Lake 上进行分析,许多引擎都会面临查询性能不足的问题。为弥补性能与实时性,企业往往选择将 Lake 上的数据再导入专用数据仓库(如 ClickHouse 等)进行处理。这种方式导致架构呈现“烟囱式”特征,即为每个业务场景单独构建一套底层数据系统。
烟囱式架构的问题十分突出:
正是为了解决这些痛点,StarRocks 应运而生。
StarRocks 致力于成为统一的分析引擎,使数据在湖上即可支撑实时与离线的多样化场景。这样的统一带来诸多价值:
当然,实现这一理想并非易事。StarRocks 之所以能够承担统一引擎的角色,源于其在多个关键能力上的持续突破,包括实时分析、查询性能以及湖仓分析。
先来看实时分析。这里需要特别强调的是——必须具备高性价比的实时分析能力。StarRocks 在 2.0 版本基于存算一体架构,已经具备了强大的实时分析性能,并在社区中积累了大量应用案例。然而,如果进一步要求在保证实时性的同时兼顾性价比,则需要在架构上做出更多优化。
因此,在 3.0 版本中,StarRocks 完成了从存算一体到存算分离的架构升级。当前,基于存算分离架构的用户规模正在快速增长。
存算分离的优势主要体现在三个方面(如下图所示):
在存算一体架构下,StarRocks 已经在实时分析方面积累了大量经验。但在存算分离架构下,如何同时保证实时分析能力与低成本,这在业界也是一个很大的挑战。
在存算分离架构下,StarRocks 针对实时分析的数据写入链路进行了深入优化。从最上层的 Pipeline 集成(支持 Insert、Update、Delete),到请求接收、事务管理,再到底层存储的全过程,每一环节都面临实时场景的挑战。
自 3.0 版本发布以来,已有大量用户从存算一体升级至存算分离架构,并在成本上获得了显著优化。随着上述机制的持续演进,实时分析的成本优势将进一步扩大。
在众多应用场景中,查询延时往往是最核心的指标之一。StarRocks 之所以能够在查询性能上保持优势,主要体现在以下三个方面:
在此基础上,StarRocks 提供了丰富的加速机制:从 Bloom Filter、Bitmap 等索引,到最新引入的文本索引与向量索引,以适配不同场景需求;透明物化视图可在通用场景下显著提升查询效率;再加上 Query Cache 等技术手段,使得 StarRocks 能够持续保障低延时的查询性能。
值得一提的是,StarRocks 天生对多表 Join 进行了优化,能够在复杂查询中保持高效。这大幅降低了数据工程师的建模负担,不再需要通过构建大宽表来规避 Join,避免了由此带来的数据膨胀与存储成本增加。
这些优化累计已达数百项,使得 StarRocks 在查询性能上持续进步。以 TPC-DS 1TB 测试为例,从 2.0 到 3.0,再到即将发布的 4.0,StarRocks 的性能指标一直保持稳定提升。
在真实场景下,StarRocks 面临的挑战与 Benchmark 存在显著差异:
正是面向这些差异化挑战,StarRocks 才能在真实业务链路中(从数据集成到数据分析)持续保证稳定的查询性能。
那么,StarRocks 如何在真实场景下同样保持高效与稳定的查询性能呢?主要体现在以下几个方面:
此外,StarRocks 还支持多计算副本机制。当某一计算副本出现故障时,其他副本能够立即接管服务,从而进一步提升系统在故障场景下的稳定性与可靠性。
前文已从架构基础、持续迭代以及真实场景等角度阐述了 StarRocks 在高性能查询上的优化。结合 Lakehouse 的发展趋势,越来越多的数据被统一存储在数据湖中。此时,新的问题出现了:StarRocks 能否将其强大的分析引擎能力应用于湖上数据? 答案是肯定的。过去几年中,StarRocks 持续优化湖上数据的分析性能,使用户能够在数据湖中直接完成分析并快速交付价值。
然而,与本地表相比,数据湖场景也带来了一些独特挑战:
针对这些问题,StarRocks 采取了多方面的优化措施:
与其他湖仓引擎相比,StarRocks 在 Iceberg 上的查询性能约为 Trino 的 3–5 倍,是 Photon 的两倍以上,能够满足绝大多数数据湖分析场景的需求。
然而,数据湖不仅涉及查询,更是未来的整体趋势。当前,许多大型企业已在积极推进数据湖建设,但对于中型和小型企业而言,构建数据湖仍存在显著挑战:需要搭建完整的 Pipeline,还要承担数据写入与治理的复杂工作,其门槛远高于使用 StarRocks Native Table。
为此,StarRocks 正在持续提升数据湖构建能力,主要体现在以下两个方面:
北美兴趣社交的领军企业 Pinterest,其广告平台面临极高的实时分析挑战:月活跃用户超过 5 亿,对数据新鲜度要求需在 10 秒以内,查询延时则需小于 1 秒。此前,Pinterest 使用 Druid,但由于在多表 Join 与 Update 支持上的限制,不得不依赖复杂的 Pipeline 构建大宽表,既增加了开发复杂度,也带来了稳定性和高成本的问题。
升级至 StarRocks 后,Pinterest 的广告平台效率显著提升:借助实时更新与多表 Join 能力,数据可直接导入并分析,无需复杂的 Pipeline。实际效果显示,P90 延时下降 50%,计算与存储成本降低 68%,整体运行成本仅为原来的三分之一。
北美知名体育电商平台 Fanatics,其数据全部统一存储在 Iceberg 中。但在分析时,需要将数据导入 Redshift、Flink、Druid 等不同系统以支撑各类场景。这种方式不仅造成数据孤岛,难以关联,还带来了高昂的计算与存储成本,且难以满足实时分析需求。
引入 StarRocks 后,Fanatics 构建了统一的湖仓架构:Iceberg 数据在离线场景中可由 StarRocks 直接查询,实时数据则通过 Kafka 导入 StarRocks 即刻分析,并能在同一引擎中实现跨场景关联,支持 BI 与 AI 应用。最终,Fanatics 成功统一了公司数据平台的技术栈,整体成本下降 90%。
在淘宝闪购的海量交易场景中,每日上亿订单产生庞大的日志数据,对数据系统提出了极高挑战。离线数仓虽然成本低,但只能提供天级或小时级的新鲜度,无法满足业务需求;实时数仓则因高昂的存储与计算成本难以大规模推广。
淘宝闪购最终采用 Flink + Paimon + StarRocks 的实时湖仓架构。数据由 Flink 实时处理后写入 Apache Paimon,再通过 StarRocks 提供实时分析。该方案实现了 1–5 分钟 的数据新鲜度,支撑上百级别的高并发复杂查询。与此同时,Flink 计算成本降低 50%,存储由本地切换至对象存储后,整体成本下降 90%,系统性能与性价比得到显著提升。
淘宝闪购实时分析黑科技:StarRocks + Paimon撑起秋天第一波奶茶自由
面向未来,StarRocks 正在积极探索如何更好地服务 AI Agent,将数据分析能力与 Agent 场景高效衔接。随着各行各业不断加速 AI 赋能,StarRocks 立足于数据系统的核心优势,持续拓展并构建面向 AI 的新能力,以满足用户在智能化转型中的迫切需求。
在此背景下,我们做了一个面向数据建模优化的 Demo(因整体视频时长限制,此处不单独展示,完整演示可在下方视频回放中查看)。社区用户在建模时经常面临分区、分桶与排序等关键抉择;一旦建模合理,后续分析效率将显著提升,但这通常需要对 StarRocks 架构有较深入的理解。Demo 的使用方式是:将若干建表语句与查询语句输入,一键触发优化;短时间后输出由 AI 推荐的建表语句。这些推荐在多个真实业务场景中已验证具有实用价值。
需要说明的是,大模型的原始能力虽强,但直接 one-shot 输入(如直接给出 DDL、查询与 Profile)往往会得到准确率不高、甚至夹杂错误的信息。因此,在面向真实业务时,不能仅停留在 Benchmark 或“看上去有道理”的答案层面,而必须直面上述不确定性,确保最终结果可用、可控。
为解决上述问题,把建表优化与 Profile 分析拆解为可控的细粒度任务,并通过 Multi-Agent 协作完成整体链路,实现建表优化。
具体流程如下:
除整条 Multi-Agent 链路外,依托 StarRocks 的 MCP Server,可与 Agent 进行实时的上下文交互。同时,Agent 需要获取 StarRocks 最新文档作为参考,以辅助其决策与分析。
基于上述实践,可归纳出对底层数据分析系统的共性要求:
综合前文所述,StarRocks 在许多方面已具备明显优势,并在其他环节持续补充与完善。未来,我们希望将 StarRocks 打造成真正 “AI Agent Ready” 的系统。
从发展思路来看(如上图所示),最底层是 StarRocks 已经具备的 Lakehouse 基础能力,能够提供实时、高并发的数据分析;最顶层则是 AI Agent,代表未来 “AI is everything” 的世界,一切业务场景都将与 Agent 交互。如何将两者结合,是留给我们的重大挑战。
解决路径在于中间的 Open Platform 层。核心思路是保持足够的开放性:开放社区、开源系统,并与更广泛的开放生态对接,覆盖包括 BI、AI 在内的多样化数据分析场景。通过这一平台化的开放连接,StarRocks 将与生态伙伴一道,为 AI Agent 构建更完善的数据分析环境。
自 2023 年起,StarRocks 存算分离架构已在社区广泛应用,数百位用户积极投入实践。基于开源 StarRocks,许多厂商也构建了企业级功能。例如, StarRocks 企业级 Multi-warehouse 能力,不少社区用户反馈,这一功能将显著简化和加速不同场景的构建。
因此,我们正式宣布:StarOS Multi-warehouse 企业级能力将于 2025 年底前全面开源。我们希望通过开源技术,帮助更多企业释放数据价值,创造更大的业务成果。
视频回放:
https://www.bilibili.com/video/BV1hhnFz9Ey7/?vd_source=1cb452610138142d1300dd37a6162a88
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。