聊聊大数据Lambda架构

大数据
Mathan Marz的大作Big Data: Principles and best practices of scalable real-time data systems介绍了Lambda Architecture的概念,用于在大数据架构中,如何让real-time与batch job更好地结合起来,以达成对大数据的实时处理。

Lambda Architecture 概念

Mathan Marz的大作Big Data: Principles and best practices of scalable real-time data systems介绍了Lambda Architecture的概念,用于在大数据架构中,如何让real-time与batch job更好地结合起来,以达成对大数据的实时处理。 

聊聊大数据Lambda架构

大数据平台中包括批量计算的Batch Layer和实时计算的Speed Layer,通过在一套平台中将批计算和流计算整合在一起。

例如使用Hadoop MapReduce、Spark进行批量数据的处理,使用Apache Storm、Spark Streaming 进行实时数据的处理。

这种架构在一定程度上解决了不同计算类型的问题,但是带来的问题是框架太多,会导致平台复杂度过高、运维成功高等。

Lambda架构的主要思想就是将大数据系统构建为多个层次,如下图所示: 

聊聊大数据Lambda架构

我们来梳理一下他们是如何分工协助的:

  • 首先new data作为整个数据系统的数据源头,Batch Layer作为数据的批处理层次对原始数据进行加工与处理,并且将处理的数据结果的Batch View输入到Serving Layer。(这里对应的是全量数据)
  • Speed Layer对于实时增加的数据进行处理,生成对增量数据计算结果的Real-time View。(这里对应的是增量数据)
  • 最终用户查询是通过Batch View与Real-time View相结合的形式将最终结果呈现出来。

基于Lambda架构,一旦数据通过Batch layer进入到Serving layer,在Real-time view中的相应结果就不再需要了。

小 结

Lambda架构结合了实时处理与批处理的结果,很好的反馈了查询需求,并且在速度和可靠性之间求取了平衡,具有足够的扩展性。理想状态下,所有的查询都可以定位成一个函数:

  1. Query = Function(Data) 

但是,若数据达到相当大的一个级别(例如PB),且还需要支持实时查询时,就需要耗费非常庞大的资源。

而Lambda架构将数据和计算系统进行细分:

  1. Query = Batch(Old_Data) + RealTime(New_Data) 

但是这种架构同样存在一些问题:需要运维两套不同的计算系统,并且合并查询结果,这一定程序上带来了复杂性的增加。

责任编辑:未丽燕 来源: 今日头条
相关推荐

2015-11-09 09:58:31

大数据Lambda架构

2019-10-10 17:53:36

大数据平台架构LambdaKappa

2022-04-14 12:24:20

大数据现状分类

2023-07-26 08:51:08

大数据服务架构

2022-10-25 18:02:31

大数据存算分离

2016-12-04 16:46:51

大数据架构机器学习

2015-06-12 14:20:35

2014-07-23 09:26:46

大数据安全大数据安全分析

2019-03-22 13:53:07

大数据架构数据源数据质量

2016-05-03 14:02:44

2020-10-22 08:28:04

大数据架构技术

2019-12-12 10:22:16

大数据平台大数据安全大数据

2014-06-16 16:07:37

大数据商业

2020-12-18 11:12:01

大数据Hadoop数据处理

2015-09-01 10:52:16

安全数据分析架构

2021-10-14 11:08:17

大数据框架内存

2024-09-13 08:59:20

2016-12-20 09:47:38

Apache SparLambda架构

2023-06-05 12:59:03

2018-09-04 23:04:31

大数据架构大数据大数据分析
点赞
收藏

51CTO技术栈公众号