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

Lambda架构的四个挑战

Lambda架构非常复杂,在数据写入、存储、对接计算组件以及展示层都有复杂的子课题需要优化:

写入层上,Lambda没有对数据写入进行抽象,而是将双写流批系统的一致性问题反推给了写入数据的上层应用;存储上,以HDFS为代表的master dataset不支持数据更新,持续更新的数据源只能以定期拷贝全量snapshot到HDFS的方式保持数据更新,数据延迟和成本比较大;计算逻辑需要分别在流批框架中实现和运行,而在类似Storm的流计算框架和Hadoop MR的批处理框架做job开发、调试、问题调查都是比较复杂的;结果视图需要支持低延迟的查询分析,通常还需要将数据派生到列存分析系统,并保证成本可控;流批融合的Lambda架构

针对Lambda架构的问题3,计算逻辑需要分别在流批框架中实现和运行的问题,不少计算引擎已经开始往流批统一的方向去发展,例如Spark和Flink,从而简化lambda架构中的计算部分。实现流批统一通常需要支持:1.以相同的处理引擎来处理实时事件和历史回放事件;2.支持exactly once语义,保证有无故障情况下计算结果完全相同;3.支持以事件发生时间而不是处理时间进行窗口化;

推荐阅读