Lambda架构
-维护两套项目,开发和维护成本高
-两套链路,数据容易不一致
-数据计算成本大(例如原定每小时计算一次,但有额外新需求需要计算两点半-三点半之间数据,则需要重新计算)
Kappa
-过于依赖kafka消息队列,数据存储成本高,数据存储回溯hdfs有额外成本
-存储有时效性
-数据顺序存储,无法用OLAP做如谓词下推等优化计算策略
-kafka有乱序问题,可能导致结果不正确
Flink+iceberg(优化Kappa)
-实现存储层的流批统一
-中间层支持 OLAP 分析
-基于HDFS存储,存储成本降低,高效回溯
缺点:近实时而不是实时,对接其他数据系统需要额外开发
通过iceberg底层将加入缓存来加速数据湖实时计算
实时数仓设计案例
为什么Kafka会乱序
Kafka乱序原因
-不同分区的数据顺序无法保证
-消费者并发消费,数据处理顺序混乱
-重试机制导致乱序
Kafka乱序解决
-生产者携带分区键信息来分区处理,同一分区数据顺序消费
-调整超时时间,减少重试几率