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

Lambda架构

Lambda架构是目前影响最深刻的大数据处理架构,它的核心思想是将不可变的数据以追加的方式并行写到批和流处理系统内,随后将相同的计算逻辑分别在流和批系统中实现,并且在查询阶段合并流和批的计算视图并展示给用户。Lambda的提出者Nathan Marz还假定了批处理相对简单不易出现错误,而流处理相对不太可靠,因此流处理器可以使用近似算法,快速产生对视图的近似更新,而批处理系统会采用较慢的精确算法,产生相同视图的校正版本。

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

图 1 Lambda架构示例

Lambda架构典型数据流程是(http://lambda-architecture.net/):

所有的数据需要分别写入批处理层和流处理层;批处理层两个职责:(i)管理master dataset(存储不可变、追加写的全量数据), (ii)预计算batch view;服务层对batch view建立索引,以支持低延迟、ad-hoc方式查询view;流计算层作为速度层,对实时数据计算近似的real-time view,作为高延迟batch view的补偿快速视图;所有的查询需要合并batch view和real-time view;Lambda架构设计推广了在不可变的事件流上生成视图,并且可以在必要时重新处理事件的原则,该原则保证了系统随需求演进时,始终可以创建相应的新视图出来,切实可行的满足了不断变化的历史数据和实时数据分析需求。

推荐阅读