过去十年,大数据平台的核心命题是存得下、算得动;最近两年,命题正转向来得快。当风控、推荐、实时归因等业务不再接受隔夜数据,把时效从 T+1 压缩到分钟级甚至秒级,就成了数据团队必须回答的问题。实时湖仓与流批一体由此走到台前。

从 Lambda 到流批一体

早期主流做法是 Lambda 架构:批链路负责全量与历史回填,流链路负责增量与低延迟,两条链路各写一套代码、各维护一套口径。代价显而易见——同一指标在两个引擎里可能算出两个结果,排障要跨系统对齐,人力成本翻倍。Kappa 架构主张以流为主,却难以覆盖大规模历史计算与复杂分析。流批一体试图用一套 API、一套存储、一套元数据同时满足两类负载,让时效成为可配置项,而不是架构分叉的理由。

表格式让数据湖具备更新能力

流批一体能落地,关键在于湖表格式的进化。Iceberg、Hudi、Paimon 等格式相继引入主键表、增量读取与变更日志能力,让数据湖第一次具备接近数据库的更新与订阅语义。

  • 写入侧:CDC 数据可按主键直接 upsert 入湖,不必先落消息队列再批量重写分区。
  • 读取侧:下游只消费某段时间内的变化,而不必全表扫描。
  • 运维侧:小文件合并、快照过期、元数据清理逐步自动化,湖上也能跑流式管道。

与之配套,流式引擎也在补齐批的能力:统一的算子语义与存算分离部署,让同一段逻辑既跑批也跑流。Iceberg 社区推进的新一代规范进一步优化删除与更新效率,方向一致——让湖更接近表。

挑战仍在细节里

流批一体并非免费午餐。其一是延迟与成本的权衡:时效越短,小文件与快照越频繁,元数据膨胀与存储开销随之上升,需要精细的合并与保留策略。其二是端到端一致性,从采集、入湖到下游消费,任何一环的重复或丢失都会破坏结果正确性,Exactly-Once 的边界必须讲清楚。其三是表结构演进,实时链路上的字段变更往往牵一发动全身,兼容性策略要前置设计。其四是组织与运维,实时平台需要独立的监控、告警与背压治理能力,靠批处理团队顺手维护通常难以持久。

落地建议

务实的路径是从高价值场景切入,而非全面改造。可先选一到两条时效敏感的业务链路,明确其可接受的一致性等级与延迟目标,再按分层设定时效:贴源层追求秒级接入,明细层控制在分钟级,应用层按需物化。同时把质量校验、血缘追踪与成本计量同步纳入实时链路,避免跑得快了却不知道数据对不对、钱花在哪。

总体来看,流批一体的意义不在于取代批处理,而在于把时效从架构级的艰难取舍,变成可按场景调节的参数。随着表格式、流式引擎与治理工具成熟,实时湖仓将从少数团队的先锋实践,变成数据平台的默认配置。