湖流一体:重塑实时开发
纯实时场景:flink 2.1 + paimon 1.2 + fluss 0.8,从开发使用角度出发。
传统架构
Kafka -> Flink -> Kafka -> Flink -> OLAP/Kafka
问题
Kafka
不支持去重
查询能力不足
数据回溯困难
过高的网络成本
Flink
状态过大
changelog
计算&存储:一起解决问题
RsingWave?
Q1:Why changelog
Changelog机制
Changelog乱序
中间结构 vs 错误结果
Why not DataStream?
changelog 乱序:SinkUpsertMaterializer vs Sequence Field/Group
Changelog生成
算子
存储
Q2:可以干掉状态嘛?
性能
聚合
聚合:
实时:前置计算准实时:中置计算
Join算子
关联:Stream join
维表关联:LookUp
双流join
主键:Partial Update
外键:Delta Join
\Delta(A\bowtie B)=\Delta A\bowtie B+A\bowtie \Delta B+\Delta A\bowtie \Delta B=\Delta A\bowtie (B+\Delta B)+A\bowtie \Delta B
Q3:回溯成本太高?
Lakehouse: Union Read
https://github.com/alibaba/fluss/issues/107
流批一体:增量计算
近线(分钟级)&离线场景:调度+增量计算
https://developer.aliyun.com/article/1648292
参考文献
湖流一体:重塑实时开发
https://syntomic.cn/archives/rebuilt-streaming-development