外观
小米在Flink实时数仓的优化方案
来源:语雀原文 | 整理日期:2026-09-22
背景介绍:
Flink简介
Flink是Apache提供的一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。
Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。
Flink技术栈如图1所示。
Flink技术栈

Flink在当前版本中重点构建如下特性:
- DataStream
- Checkpoint
- 窗口
- Job Pipeline
- 配置表
Flink在小米的版本历程:

Flink在小米的现状:

Flink在小米的系统架构

服务业务

面临问题:

解决方案:
一:作业资源用量不好确定,影响资源利用率

如何抉择?


二:存量版本过多,开发和运维压力大
多个版本同存,老用户没有强意愿升级
导致:开发压力大,多版本同时维护;运维压力大,多版本来回切换
解决策略:

三:作业启动速度慢,造成作业重启时间断流

优化措施:

四:Flink SQL维表Join 相关优化
Flink SQL维表Join 维表类型占比

表大小及速度对比:

优化策略:






最佳实践:



规划与展望:

总结:
