当前位置: 首页 > news >正文

StarRocks:Connect Data Analytics with the World

作者:StarRocks TSC Member、镜舟科技 CTO——张友东

本文基于镜舟科技 CTO、StarRocks TSC 成员张友东在 StarRocks Connect 2025 活动上的主题分享整理而成。围绕大会的核心主题——“数据与世界的连接”,本文将从三个维度进行阐述:

  • 过去:StarRocks 通过开源的力量,将全球的社区用户紧密联系在一起。

  • 现在:StarRocks 正在推动数据与现代化数据分析应用的融合。

  • 未来:StarRocks 将进一步探索数据分析与 AI Agent 的结合。

连接世界(过去)

在过去五年中,StarRocks 始终保持着快速迭代。今年 10 月,StarRocks 即将发布 4.0 版本,至此已经完成了从 1.0 到 4.0 的四次重要升级。

  • 1.0 于 2021 年发布。凭借强大的性能,StarRocks 让众多社区用户认识并开始使用。

  • 2.0 于 2022 年发布, 以“新一代实时分析引擎”的定位逐渐被用户广泛接受,在实时能力方面持续增强,帮助用户更好地支撑实时业务洞察。

  • 3.0 于 2023 年 4 月发布,标志着 StarRocks 架构由存算一体向存算分离的升级,并显著提升了湖仓分析能力。

  • 全球化发展方面,2023 年 StarRocks 项目正式捐赠给 Linux 基金会。该基金会汇聚了包括 Linux、Kubernetes 在内的重量级开源项目,如今 StarRocks 也成为其中一员。

  • 4.0 将于 2025 年 10 月推出,在 AI Agent 方向实现更多突破。

过去几年,StarRocks 得到了全球众多知名企业的广泛采用。仅我们直接接触到的,就有超过 500 家估值 10 亿美元以上的公司在使用 StarRocks,而在更广阔的开源社区中,实际用户数量远超这一数字。

目前,StarRocks 的应用已经遍布全球:

  • 亚洲:在中国,各行各业的头部企业几乎都在尝试使用 StarRocks 来加速业务,历届 Summit 上的“Logo 墙”便是最直观的见证。在东南亚,新加坡、马来西亚的代表性企业包括电商平台 Shopee、本地生活服务商 Grab,以及跨境电商巨头 SHEIN,均已选择 StarRocks。在日韩,韩国知名搜索引擎 NAVER、金融支付公司 Toss 也在生产环境中使用 StarRocks;此外,在印度、菲律宾等国家,StarRocks 也在快速拓展。

  • 北美:StarRocks 在多个行业的领先企业中得到应用。金融与财税领域的 Intuit、电信巨头 Verizon、Web3 领域的 Coinbase、兴趣社交平台 Pinterest、科技巨头 Microsoft、体育电商平台 Fanatics、旅游巨头 Expedia 等,都已在不同业务场景中使用 StarRocks。

  • 欧洲:流程挖掘领军企业 Celonis、游戏公司 InnoGames、本地生活 SaaS 企业 Fresha 等,也在其业务中部署了 StarRocks。

可以说,StarRocks 已经逐步实现了全球范围的覆盖。展望未来,我们相信,StarRocks 将会像 Oracle、MySQL、PostgreSQL 一样,成为数据分析领域耳熟能详的名字,并成为更多企业的首选。

连接现代数据分析(现在)

现代数据分析的挑战

当前的数据分析应用正面临新的挑战。从场景演进的角度来看,现代化数据分析正在从 Business Analytics 向 Operational Analytics 拓展。

  • Business Analytics:主要面向企业的战略层面,强调公司级的大指标对齐和战略分析。例如报表、Dashboard,以及分析师通过 Ad-hoc 查询来判断业务上涨或下降的原因。

  • Operational Analytics:强调数据分析在战略落地过程中的战术支撑。其核心价值在于通过实时的分析洞察和针对客户的应用场景,为具体的运营动作提供指导。未来,随着 AI Agent 的兴起,这类场景还将进一步扩展。

在这两类场景中,对数据分析的要求存在显著差异。以常见的几个核心维度为例:数据新鲜度、查询延时、查询并发。在 Operational Analytics 中,这些要求远高于传统的 Business Analytics。例如,数据新鲜度需要达到秒级或分钟级的实时;面向客户的查询延时必须控制在秒级以内;而在面向 Agent 的场景下,查询并发量更是成倍提升。因此,新的运营分析场景对数据系统提出了前所未有的挑战。

速度优先,治理缺失

面对当前的挑战,Lakehouse 已成为数据分析架构发展的主要趋势。StarRocks 早在几年前便持续推动 Lakehouse 在国内的发展,并不断分享相关实践。如果在过去,仍有人对这一趋势持怀疑态度,那么经过近几年的行业巨变,Lakehouse 已逐渐被证明是数据分析的未来基础。如今,大多数企业正在建设 Lakehouse,使数据能够在 Data Lake 中统一存储,并同时支持 AI 和 BI 场景的使用。

然而,理想与现实之间仍存在差距。当前,直接在 Data Lake 上进行分析,许多引擎都会面临查询性能不足的问题。为弥补性能与实时性,企业往往选择将 Lake 上的数据再导入专用数据仓库(如 ClickHouse 等)进行处理。这种方式导致架构呈现“烟囱式”特征,即为每个业务场景单独构建一套底层数据系统。

烟囱式架构的问题十分突出:

  • 重复开发:不同场景需要独立建设,业务交付效率低。

  • 数据冗余:同一份数据被多次存储,占用大量资源。

  • 口径不一致:数据分散在多个系统,导致指标口径不一致。

  • 运维复杂:多套系统并行运行,整体运维与运营成本高企。

正是为了解决这些痛点,StarRocks 应运而生。

面向现代分析的统一引擎

StarRocks 致力于成为统一的分析引擎,使数据在湖上即可支撑实时与离线的多样化场景。这样的统一带来诸多价值:

  • 架构简化:技术栈与数据管道得到显著简化,避免了“数据烟囱”的割裂问题。

  • 性能提升:依托 StarRocks 强大的引擎能力,能够为业务提供秒级的数据新鲜度和亚秒级的查询性能。

  • 成本优化:整体架构的构建成本与业务交付效率,均较以往基于烟囱式架构有显著改善。

当然,实现这一理想并非易事。StarRocks 之所以能够承担统一引擎的角色,源于其在多个关键能力上的持续突破,包括实时分析、查询性能以及湖仓分析。

实时洞察与成本效益并行

先来看实时分析。这里需要特别强调的是——必须具备高性价比的实时分析能力。StarRocks 在 2.0 版本基于存算一体架构,已经具备了强大的实时分析性能,并在社区中积累了大量应用案例。然而,如果进一步要求在保证实时性的同时兼顾性价比,则需要在架构上做出更多优化。

因此,在 3.0 版本中,StarRocks 完成了从存算一体到存算分离的架构升级。当前,基于存算分离架构的用户规模正在快速增长。

存算分离的优势主要体现在三个方面(如下图所示):

  1. 更低的存储成本:通过对象存储,显著降低整体存储开销。

  2. 计算弹性:计算与存储解耦,可根据业务需求实现弹性扩展。

  3. 多仓隔离:数据共享的同时,不同 workload 可通过 Multi-warehouse 能力实现独立隔离。

在存算一体架构下,StarRocks 已经在实时分析方面积累了大量经验。但在存算分离架构下,如何同时保证实时分析能力与低成本,这在业界也是一个很大的挑战。

在存算分离架构下,StarRocks 针对实时分析的数据写入链路进行了深入优化。从最上层的 Pipeline 集成(支持 Insert、Update、Delete),到请求接收、事务管理,再到底层存储的全过程,每一环节都面临实时场景的挑战。

  1. 实时分析的主要数据流来自上游 OLTP 数据库,涉及 Insert、Update、Delete 操作。StarRocks 在内核层面通过组件化模型,能够直接支持 CDC 流式数据同步,将 OLTP 的变更无缝导入。

  2. 实时场景往往伴随高并发写入,这会给引擎带来巨大压力。为此,StarRocks 采用 Merge Commits 机制,在事务提交时对小事务进行合并,从而降低系统开销并提升整体写入性能。

  3. 在存算分离架构中,数据存储依赖 S3 对象存储。对象存储在频繁读写时会产生额外的 API 调用成本。StarRocks 的优化策略是将大量小的事务文件、日志文件与数据文件合并后再提交,从而减少 API 调用次数,显著降低存储成本。

自 3.0 版本发布以来,已有大量用户从存算一体升级至存算分离架构,并在成本上获得了显著优化。随着上述机制的持续演进,实时分析的成本优势将进一步扩大。

极速查询,持续突破

在众多应用场景中,查询延时往往是最核心的指标之一。StarRocks 之所以能够在查询性能上保持优势,主要体现在以下三个方面:

  1. StarRocks 从设计之初便面向高速查询进行优化。自底层到执行层,形成了完整的性能支撑链路:包括基于 CBO 的优化器、分布式 MPP 架构、全面向量化的执行引擎,以及高效的列式存储。

在此基础上,StarRocks 提供了丰富的加速机制:从 Bloom Filter、Bitmap 等索引,到最新引入的文本索引与向量索引,以适配不同场景需求;透明物化视图可在通用场景下显著提升查询效率;再加上 Query Cache 等技术手段,使得 StarRocks 能够持续保障低延时的查询性能。

值得一提的是,StarRocks 天生对多表 Join 进行了优化,能够在复杂查询中保持高效。这大幅降低了数据工程师的建模负担,不再需要通过构建大宽表来规避 Join,避免了由此带来的数据膨胀与存储成本增加。

  1. 仅有坚实的设计基础还不够,StarRocks 在过去几年中持续进行性能优化,确保查询能力不断提升。

  • 在优化器层面:通过 Join Reorder、表达式下推,以及针对数据热点和分布不均情况的优化策略,显著提升了查询效率。

  • 在执行层面:通过改进 Shuffle 策略、引入 Runtime Filter 等机制,使执行调度更加高效,从而进一步增强执行性能。

这些优化累计已达数百项,使得 StarRocks 在查询性能上持续进步。以 TPC-DS 1TB 测试为例,从 2.0 到 3.0,再到即将发布的 4.0,StarRocks 的性能指标一直保持稳定提升。

  1. 有了坚实的基础与持续迭代,数据库产品仍不能仅停留在 Benchmark 的成绩上,更关键的是要在真实业务场景中同样展现稳定而优异的表现。

在真实场景下,StarRocks 面临的挑战与 Benchmark 存在显著差异:

  • 数据类型:Benchmark 多为结构化数据,而在实际业务中,半结构化数据更加普遍。

  • 数据状态:Benchmark 通常基于静态数据集,而真实场景中的数据则在持续变化。

  • 系统环境:Benchmark 默认节点稳定,而在生产环境中,节点升降级、重启、甚至 crash 都是常态。

正是面向这些差异化挑战,StarRocks 才能在真实业务链路中(从数据集成到数据分析)持续保证稳定的查询性能。

那么,StarRocks 如何在真实场景下同样保持高效与稳定的查询性能呢?主要体现在以下几个方面:

  1. 半结构化数据支持,StarRocks 原生引擎已支持 FlatJSON 功能,可以自动将 FlatJSON 数据“斩平”,在半结构化数据的分析性能上实现超过 10 倍的提升。该能力自 3.0 版本引入后,在 4.0 中已迭代至第二代(V2),性能进一步优化。对于存储在数据湖中的数据,当前 Iceberg 社区已在 Parquet 上提出 Variant 标准来支持半结构化数据,StarRocks 也在持续增强对 Variant 查询的能力。

  2. 在实际场景中,数据往往处于不断变化之中。为此,StarRocks 提供多层机制:

  • 自动收集数据变化后的最新统计信息,以帮助 CBO 做出更优的执行决策。但考虑到实时收集的成本,仍可能存在部分性能不佳的查询情况。

  • Query Feedback:通过查询反馈机制,在执行完成后分析计划是否合理,如不合理则进行调整,逐步优化查询效果。

  • Plan Manager:通过计划管理器将查询与执行计划绑定,即使在数据变化、节点升降级等情况下,也能保持查询计划稳定,从而保障性能的一致性。

  1. 系统故障:在真实生产环境中,版本升级、节点重启、弹性扩容等情况时常发生。针对这些挑战,StarRocks 借助存算分离架构,配合快速 Failover 机制,一旦检测到节点故障,即可迅速完成任务调度,由其他节点接管,最大限度地减少对业务的影响。

此外,StarRocks 还支持多计算副本机制。当某一计算副本出现故障时,其他副本能够立即接管服务,从而进一步提升系统在故障场景下的稳定性与可靠性。

Lakehouse 架构下的极速价值交付

前文已从架构基础、持续迭代以及真实场景等角度阐述了 StarRocks 在高性能查询上的优化。结合 Lakehouse 的发展趋势,越来越多的数据被统一存储在数据湖中。此时,新的问题出现了:StarRocks 能否将其强大的分析引擎能力应用于湖上数据? 答案是肯定的。过去几年中,StarRocks 持续优化湖上数据的分析性能,使用户能够在数据湖中直接完成分析并快速交付价值。

然而,与本地表相比,数据湖场景也带来了一些独特挑战:

  • 元数据存储在远端,访问延时较高。

  • 数据组织松散:大量入湖数据缺乏良好组织,数据质量参差不齐,统计信息不足。

  • I/O 链路较长:从湖中读取数据的过程远比本地复杂,性能压力显著。

针对这些问题,StarRocks 采取了多方面的优化措施:

  1. 在元数据访问方面,引入缓存机制以加速获取,同时在获取元数据的过程中即可启动调度,将任务下发至计算节点,从而减轻调度节点压力并加快整体执行速度。

  2. 在数据组织与统计信息方面,StarRocks 支持在数据湖上自动收集统计信息,供 CBO参考,从而生成更优的执行计划。

  3. 在 I/O 层面,StarRocks 通过相邻 I/O 合并机制以及 Data Cache,大幅减少 I/O 次数和延时。借助这些优化,StarRocks 在数据湖上的分析性能已接近 Native Table 的水平。

与其他湖仓引擎相比,StarRocks 在 Iceberg 上的查询性能约为 Trino 的 3–5 倍,是 Photon 的两倍以上,能够满足绝大多数数据湖分析场景的需求。

然而,数据湖不仅涉及查询,更是未来的整体趋势。当前,许多大型企业已在积极推进数据湖建设,但对于中型和小型企业而言,构建数据湖仍存在显著挑战:需要搭建完整的 Pipeline,还要承担数据写入与治理的复杂工作,其门槛远高于使用 StarRocks Native Table。

为此,StarRocks 正在持续提升数据湖构建能力,主要体现在以下两个方面:

  1. 数据集成

  • 支持在数据湖上直接对 Iceberg Format 执行 Insert、Update、Delete 操作。

  • 打通批流一体的写入链路,支持从对象存储和 Kafka 流直接导入数据至 Iceberg,大幅简化数据接入流程。

  1. 数据治理

  • 提供统一的访问控制,规范谁可以访问数据湖中的数据及其方式。

  • 针对 Iceberg 数据提供一系列治理能力,以提升数据质量和查询效率。

  • 在治理的基础上进一步实现自动化,让用户无需手动维护,便可像使用 StarRocks Native Table 一样,将数据直接导入并服务于线上业务。

Pinterest: 基于 StarRocks 存算分离的实时洞察

北美兴趣社交的领军企业 Pinterest,其广告平台面临极高的实时分析挑战:月活跃用户超过 5 亿,对数据新鲜度要求需在 10 秒以内,查询延时则需小于 1 秒。此前,Pinterest 使用 Druid,但由于在多表 Join 与 Update 支持上的限制,不得不依赖复杂的 Pipeline 构建大宽表,既增加了开发复杂度,也带来了稳定性和高成本的问题。

升级至 StarRocks 后,Pinterest 的广告平台效率显著提升:借助实时更新与多表 Join 能力,数据可直接导入并分析,无需复杂的 Pipeline。实际效果显示,P90 延时下降 50%,计算与存储成本降低 68%,整体运行成本仅为原来的三分之一。

Fanatics: Iceberg x StarRocks

北美知名体育电商平台 Fanatics,其数据全部统一存储在 Iceberg 中。但在分析时,需要将数据导入 Redshift、Flink、Druid 等不同系统以支撑各类场景。这种方式不仅造成数据孤岛,难以关联,还带来了高昂的计算与存储成本,且难以满足实时分析需求。

引入 StarRocks 后,Fanatics 构建了统一的湖仓架构:Iceberg 数据在离线场景中可由 StarRocks 直接查询,实时数据则通过 Kafka 导入 StarRocks 即刻分析,并能在同一引擎中实现跨场景关联,支持 BI 与 AI 应用。最终,Fanatics 成功统一了公司数据平台的技术栈,整体成本下降 90%。

淘宝闪购: Paimon x StarRocks

在淘宝闪购的海量交易场景中,每日上亿订单产生庞大的日志数据,对数据系统提出了极高挑战。离线数仓虽然成本低,但只能提供天级或小时级的新鲜度,无法满足业务需求;实时数仓则因高昂的存储与计算成本难以大规模推广。

淘宝闪购最终采用 Flink + Paimon + StarRocks 的实时湖仓架构。数据由 Flink 实时处理后写入 Apache Paimon,再通过 StarRocks 提供实时分析。该方案实现了 1–5 分钟 的数据新鲜度,支撑上百级别的高并发复杂查询。与此同时,Flink 计算成本降低 50%,存储由本地切换至对象存储后,整体成本下降 90%,系统性能与性价比得到显著提升。

淘宝闪购实时分析黑科技:StarRocks + Paimon撑起秋天第一波奶茶自由

连接 AI Agent(未来)

面向未来,StarRocks 正在积极探索如何更好地服务 AI Agent,将数据分析能力与 Agent 场景高效衔接。随着各行各业不断加速 AI 赋能,StarRocks 立足于数据系统的核心优势,持续拓展并构建面向 AI 的新能力,以满足用户在智能化转型中的迫切需求。

在此背景下,我们做了一个面向数据建模优化的 Demo(因整体视频时长限制,此处不单独展示,完整演示可在下方视频回放中查看)。社区用户在建模时经常面临分区、分桶与排序等关键抉择;一旦建模合理,后续分析效率将显著提升,但这通常需要对 StarRocks 架构有较深入的理解。Demo 的使用方式是:将若干建表语句与查询语句输入,一键触发优化;短时间后输出由 AI 推荐的建表语句。这些推荐在多个真实业务场景中已验证具有实用价值。

需要说明的是,大模型的原始能力虽强,但直接 one-shot 输入(如直接给出 DDL、查询与 Profile)往往会得到准确率不高、甚至夹杂错误的信息。因此,在面向真实业务时,不能仅停留在 Benchmark 或“看上去有道理”的答案层面,而必须直面上述不确定性,确保最终结果可用、可控。

为解决上述问题,把建表优化与 Profile 分析拆解为可控的细粒度任务,并通过 Multi-Agent 协作完成整体链路,实现建表优化。

具体流程如下:

  • 用户可直接从 StarRocks 系统拉取,或手动输入所需上下文信息,包括建表语句、查询语句以及(可选的)Profile。

  • 首先对上下文进行有效性与一致性校验;若输入本身存在错误或矛盾,及时拦截并返回问题点,避免“错题入场”。

  • 在分析阶段,按模块将任务拆分给多个 Agent(对应不同分析视角),逐一完成各自分析并输出阶段性结论,这些结论会沉淀为后续步骤的共享上下文。

  • 基于前述分析结论,由负责分区、分桶、排序 Key 等方向的专家型 Agent 给出针对性的建模优化建议。

  • 汇聚各专家 Agent 的建议,形成可执行的建表示例与配置要点;在此基础上,按建议完成建表即可。

除整条 Multi-Agent 链路外,依托 StarRocks 的 MCP Server,可与 Agent 进行实时的上下文交互。同时,Agent 需要获取 StarRocks 最新文档作为参考,以辅助其决策与分析。

基于上述实践,可归纳出对底层数据分析系统的共性要求:

  1. 自然语言接口支持,需要提供可用的自然语言入口:可通过 MCP Server 暴露接口,或自建语义层(如 Text-to-SQL)以支持文本查询。

  2. Agent 的结论高度依赖实时信息,系统需可用以获取实时运行状态、实时文档等上下文,并将其纳入推理与决策流程。

  3. 多个 Agent 往往以多轮、密集方式与系统交互,该模式不同于人工分析:

    需要足够低的查询延时以支撑多轮对话与快速迭代;

    需要足够高的并发能力以容纳多 Agent 同时访问与协同。

  4. 数据质量与治理能力,若底层数据质量不足,Agent 的最终表现将受限。因此,数据治理是对数据系统的核心要求之一。

综合前文所述,StarRocks 在许多方面已具备明显优势,并在其他环节持续补充与完善。未来,我们希望将 StarRocks 打造成真正 “AI Agent Ready” 的系统。

从发展思路来看(如上图所示),最底层是 StarRocks 已经具备的 Lakehouse 基础能力,能够提供实时、高并发的数据分析;最顶层则是 AI Agent,代表未来 “AI is everything” 的世界,一切业务场景都将与 Agent 交互。如何将两者结合,是留给我们的重大挑战。

解决路径在于中间的 Open Platform 层。核心思路是保持足够的开放性:开放社区、开源系统,并与更广泛的开放生态对接,覆盖包括 BI、AI 在内的多样化数据分析场景。通过这一平台化的开放连接,StarRocks 将与生态伙伴一道,为 AI Agent 构建更完善的数据分析环境。

One More Thing

自 2023 年起,StarRocks 存算分离架构已在社区广泛应用,数百位用户积极投入实践。基于开源 StarRocks,许多厂商也构建了企业级功能。例如, StarRocks 企业级 Multi-warehouse 能力,不少社区用户反馈,这一功能将显著简化和加速不同场景的构建。

因此,我们正式宣布:StarOS Multi-warehouse 企业级能力将于 2025 年底前全面开源。我们希望通过开源技术,帮助更多企业释放数据价值,创造更大的业务成果。

StarRocks:Connect Data Analytics with the World

PPT获取链接:https://forum.mirrorship.cn/t/topic/20074

http://www.dtcms.com/a/414285.html

相关文章:

  • deepseek Kotlin Channel 详细学习指南
  • 网站市场推广东莞 网站制作
  • 面试题回顾
  • Visual Studio 2026 IDE发布了
  • 在MCUXpresso IDE中建立使用静态库的工程
  • 【人工智能通识专栏】第二十八讲:IDE集成Deepseek
  • 电子商务网站建设参考书软文时光发稿平台
  • Flask与Django:Python Web框架的哲学对决
  • Android 消息循环机制
  • 若依前后端分离版集成到企业微信自建应用
  • 电商网站建设心得ps做网站首页怎么运用起来
  • 免费建一级域名网站精品网站设计
  • windows电脑如何执行openssl rand命令
  • 【MySQL✨】MySQL 入门之旅 · 第十一篇:常见错误排查与解决方案
  • Word表格数据提取工具
  • 【Rust GUI开发入门】编写一个本地音乐播放器(1. 主要技术选型架构设计)
  • Rust 中的 static 和 const
  • Linux操作系统-进程(一)
  • 零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路
  • 20250927让荣品RD-RK3588-MID开发板的Android13系统在uboot下关闭背光充电
  • 人工智能专业知识图谱
  • 深入理解Windows服务:架构、管理与编程实践
  • 作风建设简报--门户网站如何提高网站百度权重
  • CentOS7搭建ELK日志分析系统
  • 基于大数据hive的银行信用卡用户的数仓系统的设计与实现_django
  • Docker从网络管理到容器优化
  • count down 83 days
  • 华为云速建站如何用网页设计制作个人网站
  • 做网站用什么压缩代码和图片如何做淘宝商城网站
  • 基于STM32与influxDB的电力监控系统-3