Lambda plus: 云上大数据解决方案( 四 )

Kappa架构

Kappa架构由Jay Kreps提出,不同于Lambda同时计算流计算和批计算并合并视图,Kappa只会通过流计算一条的数据链路计算并产生视图。Kappa同样采用了重新处理事件的原则,对于历史数据分析类的需求,Kappa要求数据的长期存储能够以有序log流的方式重新流入流计算引擎,重新产生历史数据的视图。

Lambda plus: 云上大数据解决方案

图2 Kappa大数据架构

Kappa方案通过精简链路解决了1数据写入和3计算逻辑复杂的问题,但它依然没有解决存储和展示的问题,特别是在存储上,使用类似kafka的消息队列存储长期日志数据,数据无法压缩,存储成本很大,绕过方案是使用支持数据分层存储的消息系统(如Pulsar,支持将历史消息存储到云上存储系统),但是分层存储的历史日志数据仅能用于Kappa backfill作业,数据的利用率依然很低。

Lambda和Kappa的场景区别:

Kappa不是Lambda的替代架构,而是其简化版本,Kappa放弃了对批处理的支持,更擅长业务本身为append-only数据写入场景的分析需求,例如各种时序数据场景,天然存在时间窗口的概念,流式计算直接满足其实时计算和历史补偿任务需求;Lambda直接支持批处理,因此更适合对历史数据有很多ad hoc查询的需求的场景,比如数据分析师需要按任意条件组合对历史数据进行探索性的分析,并且有一定的实时性需求,期望尽快得到分析结果,批处理可以更直接高效地满足这些需求;Kappa+

推荐阅读