湖流一体:基于 Fluss 和 Lance 构建实时多模态数据湖
如果无法正常显示,请先停止浏览器的去广告插件。
1. 湖流一体:
基于 Fluss 和 Lance 构建实时多模态数据湖
徐榜江
2. 目
录
01 AI时代对数据湖的需求与挑战
02 Fluss 流存储 和 Lance 湖格
式
03 湖流一体架构和核心收益
04 Demo : 实时多模态数据湖构建
05 总结与展望
3.
4. 01
AI时代对数据湖的需求与挑战
5. AI 应用爆发对数据存储的挑战
• 非结构化的数据随LLM 和GenAI 兴起快速增长
• 传统数据湖缺乏对多模态数据、元数据小文件
支持
多模态数据快速增长
1
2
实时数据分析需求激增
数据质量要求更高
3
• 实时推荐、实时分析、智能客服、AIGC 等应
用需要持续实时数据
• 特征工程、实时分析等场景需要高效列裁剪
等能力,基于行存的传统消息队列很难满足
• 模型训练过程需要高质量、版本化的数据集,
需要数据溯源、数据血缘等能力
• 相比提升模型复杂度,数据质量更容易提升模
型效果
4
数据合规和治理
• AI模型可能存则泄露隐私、生成幻觉、侵犯
版权等问题
• AI应用需要系性地治理数据以满足安全和合
规需求
6. AI 时代的数据湖需求 = 实时 + 多模态
数据应用 AI & BI 应用
元数据 统一元数据
数据引擎
Paimon
数据接入 流存储
数据存储 多模态数据湖
数据存储 云对象存储
7. 从数据湖到实时多模态数据湖
Paimon
数据仓库
批计算引擎标准
数据湖
实时数据湖
面向AI的数据湖
数据湖
2008
2017
2010
2011
2014
2016
2025
2023
2024
流存储
面向事件的流存储
流计算引擎标准
云原生的流存储
面向分析和AI的流存储
8. 02
Fluss 流存储 和 Lance
湖格式
9. Apache Fluss:面向分析和AI的流存储
流式写入
Fluss Cluster
Databases
Server
Logs
Images
实时更新
Server
Server
流读
批读
点查
Remote Storage ( S3 / OSS / HDFS )
Union Read
*
Lake Tiering Service
Lake ( Paimon / Lance / Iceberg)
Videos *
湖仓分析
面向分析
下一代流存储
毫秒级延迟 列存设计 原生schema
数据探查 支持更新 列裁剪支持
面向AI
实时CDC
表达式下推
湖流一体 AI Lake (Lance )
Python Client 超宽表列裁剪
10. Apache Fluss 架构设计
面向分析场景设计
◼ 冷热分层:更好的数据管理
◼ 列式格式:高效列裁剪
◼ 索引支持:高效 scan
◼ 支持更新: Log 表 + 主键表
面向 AI 场景设计
◼
Lakehouse 集成:
⚫
◼
Lance & Paimon & Iceberg
Python Client:
⚫
打通AI生态,PyArrow,Pandas
11. Apache Fluss 应用: 淘宝数据平台
Kafka 方案
存储成本 • 数据持续增长
• 需要维护长周期数据
网络成本 • 1 写 + 10 读
• 跨AZ 高流量
数据共享
Fluss 方案
列裁剪
3 PB
数据存储规模
40 GB/s
数据读取流量
• 冷存入湖,长周期数据友好
• 数据存储成本降低30%
• 列存格式(Arrow)
• 分区裁剪
500 K
大表点查 QPS
成本
30%
流量
70%
500 B
单表行数
12. Lance :面向AI的多模态湖格式
.lance:为ML 和LLM 设计的文件格式
◼
Data Pages :
- 抛弃row group ,page 大小存储友好
- 按照page 读取,计算引擎IO友好
◼
Column
Metadata :
- 列元数据独立存放,大宽表友好
- 统计信息(skip- list/index
), 快速过滤和点查
◼
footer:
- 元数据表查询列元数据,真正的列裁剪
面向 AI 工作负载的 tradeoff
◼
多模态数据,超宽列支持
- 将超大单元作为 large Blob处理,inline 存储,降低读取IO
◼
向量搜索、全文搜索场景下的数据查询
- 列元数据独立存放,大宽表友好
◼
特征工程,大宽表支持
- 元数据是按列独立存储,解决parquet在该场景的元数据瓶颈
Lance
13. LanceDB :基于 Lance 的一体化多模态数据湖
14. LanceDB
应用: Netflix Media Data Lake
模型质量提升
模型评估更快
加速 AI 创新
业务洞察更好
15. 03
湖流一体架构和核心收益
16. 湖流一体业务场景
统一元数据 , 数据共享
流存储
实时加工
实时数据层
Fluss Cluster
(短周期,毫秒级延迟)
Kafka
T+0
view
Tiering Service
服务
业务数据
(BI/OLAP)
离线存储
离线加工
历史数据层
Lakehouse (Paimon,Lance, Iceberg)
Union Read
(长周期,分钟级延迟)
T+1 view
T+2 view
为什么需要湖流一体?
Lakehouse Analytics
Fluss 解决方案:
业务收益:
• 两套存储,存储成本高 ✓ 内置湖流通道服务,流存储数据直接入湖 ✓ 一份存储,流存:7X24h - > 1h
• 两条链路计算结果不一致 ✓ 数据格式高效转换, Arrow 到 Parquet ✓ 延迟更低,存储开放
• 两套服务,开发运维成本高 ✓ 深度集成Flink 引擎,Filter&Projection
下推 ✓ 链路简化,开发运维成本更低
17. 湖流一体业界趋势
Confluent Kafka Tableflow
Redpanda Iceberg Topic
Ursa (VLDB - 2025 Best Industry Paper)
AutoMQ Table Topic
18. Fluss 湖流一体架构
BI 应用
Fluss Cluster
流读
流式写入
Server
Server
批读
Server
Databases
点
查
实时更新
Remote Storage ( S3 / OSS / HDFS )
Logs
Union Read
TieringService
Lakehouse ( Paimon /
AI 应用
湖仓分析
Lance / Iceberg )
RAG
多模
检索
19. Fluss 湖流一体核心技术:Lake Tiering Service
Fluss CoordinatorServer
TieringManage
r
Tiering Task Queue
tbl4
tbl4
Heartbeat
Tiering Service 1
tbl1
tbl3
Request
Task
tbl5
tbl2
Tiering Service 2
Lakehouse Storage
(LanceDB)
tbl2
Heartbeat
Tiering Service 3
✓ 无状态设计
✓ 灵活扩缩容
✓ 一键部署启动
20. Fluss 湖流一体核心技术 :Lake Tiering Service
Metadata
Fluss Table A
Catalogs
位点提交
DDL 执行
partition=20250528
partition=20250528
bucket1
bucket2
partition=20250529
Lake Table A
bucket1
Lake Tiering
Service
无状态 Flink 作业
bucket2
partition=20250529
➢ 下游湖自动建表
Fluss Table B
➢ Schema 自动映射
➢ 列存格式转换
➢ 分钟级数据新鲜度
Lake Table B
21. Fluss 湖流一体核心收益
Confluent Tableflow
Fluss 湖流一体
共享数据,统一视图
实时数据层
(短周期,毫秒级延迟)
Fluss Cluster
Tiering Service
历史数据层
(长周期,分钟级延迟)
Union Reads
Lake ( Paimon /Lance/ Iceberg)
Lakehouse Analytics
Query Engines
Tableflow 是连接“数据湖”和“面向事件的流存储”两种系统
数据的单向流动,只是个数据同步工具
湖和流仍然割裂,并无额外收益
湖流一体是打通“数据湖”和“面向分析的流存储”两种系统
数据双向共享,湖流相互增强
流 增强 湖:湖数据延迟提升到秒级!
湖 增强 流:流数据可分析!
数据的两份拷贝,高昂的成本 消除冗余存储:流存储成本降低10倍!
Kafka 不是为分析设计的,不同数据模型映射转换成本高 面向分析场景设计的流存储:模型对齐,列存文件直转
22. Demo:
04
实时多模态数据湖构建
23. Demo: Fluss + Lance 构建多模态数据湖
业务场景
1.多模态数据流式摄入
PyFluss
2. 多模态数据自动入湖
AI 应用
Lake Tiering Service
3. AI Data Lakehouse
分析
4. 基于Data Lake 构建AI应
用
PyLance
AI Data Lake
24. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
PyFluss
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
AI 应用
Lake TieringService
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
PyLance
7. 加载Lance 图片到Pandas 分析
AI Data Lake
25. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
7. 加载Lance 图片到Pandas 分析
26. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
7. 加载Lance 图片到Pandas 分析
27. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
7. 加载Lance 图片到Pandas 分析
28. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
7. 加载Lance 图片到Pandas 分析
29. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
7. 加载Lance 图片到Pandas 分析
30. Demo: Fluss + Lance 构建多模态数据湖
主要流程
1. 安装Fluss和Lance Python Lib
2. 启动 Fluss 湖流一体服务
3. 连接Fluss集群并建表
4. 处理多模态数据 (图片)
5. 多模态数据写入 Fluss 表
6. Fluss 数据自动入湖 Lake
7. 加载Lance 图片到Pandas 分析
31. 05
总结与展望
32. Fluss + Lance = 实时多模态数据湖 => AI Data Lake
Python 生态
多模态数据
AI 应用
Text
Multi- Modal
Agent
Images
AI DataLake
Audio
AI Data Lake
Lakehouse Storage
Feature
Engineering
Videos
RAG
Lance 生态
Hybrid
Search
33. Fluss 未来规划
完善湖格式集成
Lance( 主键表),Hudi*
更多计算引擎
StarRocks *, Spark, DuckDB
更好时效性
Shared Metadata, Deletion Vector
34. 欢迎加入开源社区
Apache Fluss
LanceDB
https://github.com/apache/fluss https://github.com/lancedb/lancedb
https://fluss.apache.org/ https://lancedb.com/
35.
36. THANKS
大模型正在重新定义软件
Large Language Model Is Redefining The Software
37. 完整 Demo
参考:
链 孵
Apache
(
搭
Lance
分
AI
接 化
建
析
:
实 中
系
基
时
统
Fluss
于
)
多 与
模态
链接:基于 Apache Fluss (孵化中)与 Lance 搭建实时多模态 AI 分析系统