在大规模广告系统的后链路(离线和实时特征计算、模型训练与上线、效果监控等)中,往往既有对海量历史数据的批量计算需求(离线特征、离线模型训练、报表汇总),又有对在线请求的低延迟实时计算需求(实时特征、在线打分、实时监控/告警)。传统将二者割裂、用 Lambda 架构(Batch + Speed 层)分别实现,带来了:
• 代码与业务逻辑重复
• 数据语义/计算结果不一致
• 运维成本、调度复杂度翻倍
• 开发调试效率低
流批一体技术(Streaming + Batch Unified)正是在这个场景下应运而生,用以打通“离线 ↔ 实时”两条腿,统一底层引擎、统一 API、统一数据语义、统一运维调度,从而大幅降低系统复杂度并提升实时性与一致性。
以下从“概念”、“核心能力”、“关键技术点”以及“在广告后链路的价值”四个角度做详细介绍。
一、流批一体技术概念
- 统一计算引擎
– 同一套计算框架即可处理有界(Batch)与无界(Stream)数据
– 统一抽象:数据流(DataStream)、表/SQL(Table & SQL)等 - 统一编程模型
– 同一份代码/同一套