Lambda架构

Lambda是实时处理框架Storm的作者Nathan Marz提出的用于同时处理离线和实时数据的架构理念。Lambda架构(LA)旨在满足一个稳定的大规模数据处理系统所需的容错性、低延迟、可扩展的特性。LA的可行性和必要性基于如下假设和原则。

  • 任何数据系统可定义为:query=functional(all data)。
  • 人为容错性(Human Fault-Tolerance):数据是易丢失的。
  • 数据不可变形(Data Immutability):数据是只读的,不再变化。
  • 重新计算(Recomputation):因为上面两个原则,运行函数重新计算结果是可能的。

LA基本框架如图所示:
Lambda架构.png

该架构具有如下特点。

  • 所有数据分别分发到批处理层和实时处理层。
  • 批处理层有两个功能:管理主要的数据(该类数据的特点是只能增加,不能更新);为下一步计算出批处理视图做预计算。
  • 服务层计算出批处理视图中的数据做索引,以提供低延时,即席查询。
  • 实时处理层仅处理实时数据,并为服务层提供查询服务。
  • 任何查询都可以通过实时处理层和批处理层的查询结果合并得到。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容