Fluss:重新定义实时数据分析与 AI 时代的流式存储

简介: Apache Fluss(孵化中)是新一代流式存储系统,旨在解决传统架构中数据重复复制、高成本与复杂性等问题。它基于 Apache Arrow 构建,支持列式存储、实时更新与高效查询,融合流处理与湖仓架构优势,适用于实时分析、AI 与多模态数据场景。Fluss 提供统一读写、冷热分层与开放生态,已在阿里巴巴大规模落地,助力企业实现低成本、高效率的实时数据处理。

引言:一场关于流式存储的范式变革

欢迎阅读对 Apache Fluss(孵化中) 的深度解读 —— 这是一项突破性的流式存储解决方案,旨在彻底重塑实时数据分析与人工智能(AI)基础设施的未来。

本文内容基于伍翀在 Flink Forward Asia 2025 新加坡大会上的主题演讲,旨在介绍 Fluss 作为下一代流式存储系统的核心理念与技术优势。我们将深入探讨 Fluss 如何弥合传统流处理系统与现代湖仓(Lakehouse)架构之间的鸿沟,显著提升机器学习特征工程、多模态 AI 数据摄入等前沿场景下的存储能力。

我们将一起了解:

  • 为什么我们需要 Fluss?
  • 它的架构优势是什么?
  • 在真实生产环境中如何落地?

准备好,一起进入 Fluss 的世界。


01传统数据架构的困境

在当今“数据驱动”的时代,Apache Kafka 已成为几乎所有流式数据架构的基石。它在微服务间的事件通信、高吞吐日志采集等方面表现出色。

当我们需要从流数据中获取实时洞察时,通常会使用 Apache Flink 进行处理与转换。而为了实现分层建模,我们常将数据写回 Kafka 的多层主题(Topic)中:比如青铜层(bronze)、银层(silver)、金层(gold)——即所谓的“数据湖勋章架构(Medallion Architecture)”。

但问题来了:

当你要做一次 key-value 查询来丰富数据,该怎么办?

Kafka 本身不支持高效的 KV 查询。于是我们不得不把数据复制一份到 Redis 这类 KV 存储中,只为支持维度表关联。

当你想对 Kafka 主题进行数据探索或调试呢?

Kafka 并不是为“可查询”而设计的。你只能再次复制数据,导入 ClickHouse 等 OLAP 系统才能做交互式分析。

如果你想构建一个支持批处理的数据湖仓?

对不起,还得再复制一次——这次要转成 Iceberg、Paimon 等开放格式。

于是,同样的数据在 Kafka、Redis、ClickHouse、Iceberg 之间被反复复制,形成“数据影子系统”。

这带来了四大问题:

  • 成本飙升:多份副本显著增加存储与网络开销;
  • 架构复杂:运维多套系统,一致性难保障;
  • 数据孤岛:各系统之间割裂,难以统一治理;
  • 延迟累积:每次复制都引入额外延迟。

更关键的是,在这种架构下,Kafka 主题本身

几乎没有任何业务价值。它既不能被查询,也不适合长期存储,更不支持更新。只是一个“黑盒中转站”。

这并不是 Kafka 的错。Kafka 的设计初衷是高吞吐、低延迟的事件分发,而非分析或 AI 场景。它缺乏:

  • 内置 Schema 管理
  • 更新语义支持
  • 面向长期存储的优化

因此,把它用在大数据场景本质是个误用。

正是基于这一深刻认知,Fluss 项目在两年前应运而生 ,一个从零构建、专为分析与 AI 场景优化的流式存储系统。它的目标很明确:终结数据重复复制,打造统一、高效、低成本的实时数据底座。


02Fluss:流式存储的新范式

Fluss 代表了流式存储技术的一次重大跃迁。

它是一个支持亚秒级读写延迟的流式存储系统,底层基于 Apache Arrow 构建,采用列式日志结构(columnar log)。这一设计赋予了 Fluss 天然的分析优势。

核心优势一览

✅ 强大的分析能力

得益于 Arrow 的列式格式,Fluss 支持流式列裁剪与流式分区裁剪。查询时仅读取所需列与分区,大幅降低网络传输开销,提升分析效率。

✅ 高性能的实时更新与查询

Fluss 支持高并发、低延迟的 KV 查询与更新,可直接作为 Flink 的维度表进行 Lookup Join,无需再引入 Redis。

✅ 与湖仓无缝集成的分层存储

Fluss 支持将热数据保留在本地高速存储中,冷数据则自动归档至湖仓(如 Iceberg、Paimon),实现成本与性能的平衡。归档数据采用标准开放格式,可被 Spark、Trino、StarRocks 等引擎直接读取。

✅ 统一读取(Union Read):打通流与批

Fluss 引入了 Union Read 特性,智能合并热数据(Fluss)与冷数据(湖仓)。它先读取历史数据,再无缝衔接实时流,无重复、无遗漏。Flink 已原生支持 Union Read,StarRocks 集成也在推进中。


03Fluss 构建真正的“实时流式湖仓”

通过 Fluss,企业可以实现一个真正统一的实时湖仓架构——数据只存一份,却能同时满足:

  • Flink 流式分析:亚秒级读写
  • 维度表 Join:KV 查询支持
  • OLAP 查询:Union Read 支持
  • 批处理:开放湖格式兼容

需要强调的是,Fluss 并非要取代湖仓,而是为湖仓注入强大的流式能力。它让数据在“流”与“湖”之间自由流动,实现真正的数据融合。

如何实现数据共享?

Fluss 内置一个分层服务(tiering service),持续将 Fluss 中的数据转换为 Iceberg/Paimon 等格式,写入湖仓。这一机制类似于数据库的“冷热分层”策略,但 Fluss 将湖仓作为“冷层”,确保冷数据对整个生态开放可读。

  • Fluss = 实时数据层:存储短期、高时效性数据(亚秒级延迟)
  • 湖仓 = 历史数据层:存储长期数据(分钟级延迟)

当流任务需要回溯历史数据时,湖仓提供快速“追赶”能力;当执行批分析时,Fluss 可将最近几分钟的最新数据补全至湖仓,确保批处理结果也是“实时的”。


04Fluss 在生产环境的真实案例

Fluss 不是纸上谈兵。它已在阿里巴巴大规模落地,展现出强大的稳定性与性能。

目前,Fluss 已管理 超 3 PB 数据,单集群写入吞吐高达 40 GB/s。支持单表 50 万 QPS 的 KV 查询,最大单表行数超 5000 亿。

让我们深入看看阿里巴巴生产环境中的几个典型应用场景。

案例一:淘宝日志采集与实时分析

淘宝每天产生海量日志:点击流、用户行为、订单流等,是下游分析与 AI 模型的数据基础。

过去使用 Kafka 时,面临两大挑战:

  • 存储成本高:日志量年年增长,但 Kafka 难以长期保留,用户想查一周前的数据?做不到。
  • 读取成本高:日志常被“一写十读”,网络流量巨大。

切换至 Fluss 后,团队利用“流式湖仓”的共享能力:

  • 长期数据归档至湖仓,Fluss 本地数据减少 30%
  • 利用列裁剪与分区裁剪,读取流量降低 70%
  • 整体成本下降 30%

真正实现了“低成本、高时效、可追溯”的日志分析。

案例二:Delta Join —— 超大规模流式 Join 的破局之道

流式 Join 是 Flink 的核心能力,由于 Kafka 无法同时提供流读和索引点查的能力,所以在 Kafka+Flink 的架构下需将所有上游数据缓存在 Flink 状态中。例如,阿里搜索推荐团队需关联“页面点击流”与“订单流”做归因分析。两个流数据量巨大,在 Kafka+Flink 的架构下状态高达 100 TB,这导致作业不稳定、checkpoint超时、资源消耗巨大等问题。

通过引入 Delta Join(基于 Fluss),问题迎刃而解:

Delta Join 本质是一种双向 Lookup Join:

  • 左流数据到来时,去 Fluss 中查右表;
  • 右流数据到来时,去 Fluss 中查左表。

语义等价于传统 Join,但让 Flink 作业变得很轻量和灵活,同时在 Fluss 中的索引能被多个 Flink 作业复用。

实际效果:

  • 减少100TB的状态大小
  • 检查点时间从 90 秒降至 1 秒
  • Flink 资源消耗减少 85%
  • 作业更新不再依赖状态重放,迭代速度大幅提升

更棒的是,Delta Join 已开源并捐赠至 Apache Flink,已在 Flink 2.1 版本中发布,标志着 Fluss 与 Flink 生态的深度整合。


05Fluss 未来路线图:面向多模态 AI 与开放数据

Fluss 的未来充满想象空间,聚焦三大方向:

  • 增强流式湖仓能力
  • 支持更多开放格式:Iceberg、Delta Lake
  • 拓展查询引擎生态:Spark、Trino、StarRocks 全面兼容
  • 多模态 AI 深度集成
  • 支持文本、图像、音频、视频等多模态数据的实时摄入与存储
  • 与 Lance(AI 开放格式)深度整合,构建“实时 AI 数据湖”
  • 推出 Python 客户端(PyArrow 集成)
  • 支持 Pandas、Polars、DuckDB 等 Python 数据工具
  • 让数据科学家也能轻松接入 Fluss

在 AI 时代,数据基础设施面临三大核心挑战:

首先是多模态数据的崛起,与传统分析主要依赖结构化数据不同,AI 应用越来越多地处理文本、图像、音频、视频等非结构化数据,这对存储和处理系统提出了更高的灵活性要求。其次是流式数据的需求激增——AI 智能体(Agent)不再满足于基于历史数据的离线推理,而是需要实时感知、即时决策,要求数据管道具备低延迟、持续更新的能力。最后是开放数据的重要性日益凸显——为了实现跨系统、跨工具的协同,数据格式必须开放、标准、可互操作,就像分析领域依赖 Parquet、Iceberg 一样,AI 也需要属于自己的“通用语言”。Fluss 正是基于这样的洞察,致力于构建一个支持多模态、原生流式、拥抱开放生态的下一代数据底座。

未来的 Fluss 将不仅是分析引擎的底座,更是多模态 AI 实时流水线的核心:

  • 实时摄入多模态数据 → 存储为流式格式 → 转换为 Lance → 接入 Ray、PyTorch 等 AI 框架

结合即将推出的 Python 客户端,Fluss 将解锁:

  • 实时多模态智能体(Agent)
  • 实时 AI 数据湖
  • 实时特征工程平台


06Fluss 的开源之路

Fluss 的开源之旅始于 2024 年 Flink Forward Asia 上海大会,现场宣布开源。半年内:

  • GitHub Stars 超 1,200
  • 贡献者超 50 人,来自阿里巴巴、字节跳动、eBay、小米、腾讯等全球领先企业
  • 已发布 3 个版本,迭代迅速

2025 年 6 月,阿里巴巴正式将 Fluss 捐赠至 Apache 软件基金会(ASF),项目更名为 Apache Fluss(Incubating)。新仓库地址:https://github.com/apache/fluss/

加入 Apache 是 Fluss 社区的重要里程碑,标志着它迈向更开放、更中立、更可持续的未来。


07邀测开启:适用于 Apache Fluss 的阿里云托管服务上线

现在,适用于 Apache Fluss 的阿里云托管服务已启动邀测,现已在北京、杭州、新加坡等区域开服。

开发者可扫描二维码申请试用,率先体验下一代流式存储的强大能力:

结语:Fluss 的使命

Fluss 正在重新定义实时数据基础设施的边界。

它不是 Kafka 的替代品,也不是湖仓的竞争对手,而是一个融合者:将流、批、分析、AI 统一在同一个高效、开放、实时的数据底座之上。

随着其在 Apache 社区的持续演进,Fluss 有望成为未来数据架构的“实时神经中枢”,助力企业真正释放数据与 AI 的全部潜能。

实时数据,不再分裂。统一存储,就在 Fluss。



来源  |Apache Flink公众号

相关文章
|
6月前
|
存储 消息中间件 人工智能
Lazada 如何用实时计算 Flink + Hologres 构建实时商品选品平台
本文整理自 Lazada Group EVP 及供应链技术负责人陈立群在 Flink Forward Asia 2025 新加坡实时分析专场的分享。作为东南亚领先的电商平台,Lazada 面临在六国管理数十亿商品 SKU 的挑战。为实现毫秒级数据驱动决策,Lazada 基于阿里云实时计算 Flink 和 Hologres 打造端到端实时商品选品平台,支撑日常运营与大促期间分钟级响应。本文深入解析该平台如何通过流式处理与实时分析技术重构电商数据架构,实现从“事后分析”到“事中调控”的跃迁。
538 55
Lazada 如何用实时计算 Flink + Hologres 构建实时商品选品平台
|
4月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
Apache Fluss是由阿里巴巴与Ververica合作开发的Flink表存储引擎,旨在提供低延迟、高效率的实时数据存储与变更日志支持。其采用TabletServer与CoordinatorServer架构,结合RocksDB和列式存储,实现主键表与日志表的统一管理,并通过客户端抽象整合湖仓历史数据,弥补Paimon在实时场景下的性能短板。
719 22
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
|
7月前
|
分布式计算 Java 流计算
Fluss on 鲲鹏 openEuler 大数据实战
本文介绍了基于华为鲲鹏ARM架构服务器与openEuler操作系统,构建包含HDFS、ZooKeeper、Flink、Fluss及Paimon的实时大数据环境的完整实战过程。涵盖了软硬件配置、组件部署、集群规划、环境变量设置、安全认证及启停脚本编写等内容,适用于企业级实时数据平台搭建与运维场景。
944 0
Fluss on 鲲鹏 openEuler 大数据实战
|
9月前
|
存储 Rust Go
介绍一下这只小水獭 —— Fluss Logo 背后的故事
Fluss是一款开源流存储项目,致力于为Lakehouse架构提供高效的实时数据层。其全新Logo以一只踏浪前行的小水獭为核心形象,象征流动性、适应性和友好性。水獭灵感源于“Fluss”德语中“河流”的含义,传递灵活与亲和力。经过30多版设计迭代,最终呈现动态活力的视觉效果。Fluss计划捐赠给Apache软件基金会,目前已开启孵化提案。社区还推出了系列周边礼品,欢迎加入钉钉群109135004351参与交流!
962 3
介绍一下这只小水獭 —— Fluss Logo 背后的故事
|
7月前
|
存储 SQL Cloud Native
热烈祝贺 Flink 2.0 存算分离入选 VLDB 2025
Apache Flink 2.0架构实现重大突破,论文《Disaggregated State Management in Apache Flink® 2.0》被VLDB 2025收录。该研究提出解耦式状态管理架构,通过异步执行框架与全新存储引擎ForSt,实现状态与计算分离,显著提升扩展性、容错能力与资源效率,推动Flink向云原生演进,开启流计算新时代。
903 1
热烈祝贺 Flink 2.0 存算分离入选 VLDB 2025
|
8月前
|
存储 运维 Java
官宣 | Fluss 0.7 发布公告:稳定性与架构升级
Fluss 0.7 版本正式发布!历经 3 个月开发,完成 250+ 次代码提交,聚焦稳定性、架构升级、性能优化与安全性。新增湖流一体弹性无状态服务、流式分区裁剪功能,大幅提升系统可靠性和查询效率。同时推出 Fluss Java Client 和 DataStream Connector,支持企业级安全认证与鉴权机制。未来将在 Apache 孵化器中继续迭代,探索多模态数据场景,欢迎开发者加入共建!
806 8
官宣 | Fluss 0.7 发布公告:稳定性与架构升级
|
6月前
|
存储 缓存 Apache
StarRocks+Paimon 落地阿里日志采集:万亿级实时数据秒级查询
A+流量分析平台是阿里集团统一的全域流量数据分析平台,致力于通过埋点、采集、计算构建流量数据闭环,助力业务提升流量转化。面对万亿级日志数据带来的写入与查询挑战,平台采用Flink+Paimon+StarRocks技术方案,实现高吞吐写入与秒级查询,优化存储成本与扩展性,提升日志分析效率。
801 1
|
9月前
|
存储 消息中间件 OLAP
基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路
本文整理自淘天集团高级数据开发工程师朱奥在Flink Forward Asia 2024的分享,围绕实时数仓优化展开。内容涵盖项目背景、核心策略、解决方案、项目价值及未来计划五部分。通过引入Paimon和Hologres技术,解决当前流批存储不统一、实时数据可见性差等痛点,实现流批一体存储与高效近实时数据加工。项目显著提升了数据时效性和开发运维效率,降低了使用门槛与成本,并规划未来在集团内推广湖仓一体架构,探索更多技术创新场景。
1661 3
基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路