CIO指南大数据的参考架构之Lambd

若要将大数据作为一项战略资产,企业需要一系列技术基础,帮助其以较低的技术成本,收集、存储和处理海量数据。一开始,其中的一些技术(例如,Hadoop)主要用于批处理作业。

但是最近几年,其他技术(比如,Spark)的兴起使得企业能够在同一基础架构中,并行运行批处理作业和实时数据处理。这两项功能的整合恰恰是大数据架构最重要的一项要求。

Lambda架构则向我们诠释了如何达到这一要求。尽管Lambda架构有利有弊,大数据社区仍然将其视为大数据的重要参考架构。这种架构特别适合预测分析场景。在这种场景下,系统会定期从历史数据集中识别数据模式,并实时检查输入的记录是否符合这些模式。

Lambda架构最重要的特征包括:

容错:即使出现故障,仍然能够满足要求(如果出现故障,信息不会丢失,因为系统可以从只添加的主数据集重新计算输入数据)

可扩展性:灵活应对数据增加

低延迟的读写过程:尽量缩短系统响应的延迟时间

实时结果:不论数据负载有多大,都能快速返回结果

Lambda架构是由以下三大功能界定的:实时处理、批处理和查询处理。

上图展示了这些功能如何相互作用。此外,通过附加新数据,主数据集将持续更新(图中的“所有数据”)。为了弥补批处理的延迟,Lambda架构定义了三个架构层:批处理层、服务层和速度层。

输入的新数据将被导入批处理层和速度层。在批处理层,输入数据将添加至主数据集,比如Hadoop分布式文件系统(HDFS)。批处理作业用于读取主数据集,并生成被称为批处理视图的预计算和预聚合结果。

系统将不断重新执行潜在的长期运行批处理作业,以便在更新的版本出现后,用这些版本重写批处理视图。然后,这些批处理视图将加载至服务层的一个只读数据存储器中,支持快速读取和随机读取。系统不会复制实时视图,这是因为系统需要临时创建视图;而且系统应采用最新的可用数据回答每次查询。因此,实时视图是实时层的一个组成部分,而且不会在查询层中复制。

在Lambda架构模式中,输入查询能够根据批处理视图和实时视图的综合结果,采取行动。因此,数据库通常为批处理视图编入索引,以支持即席查询,并使用一个组件来合并实时视图和批处理视图。

通过将一个不可变且只添加的主数据集保留在所有输入数据存储的位置,该架构模式可以实现容错。如果任意处理步骤发生了故障,系统可以从主数据集重新计算一切。这些不断增加的数据将存储在HDFS等可扩展和可靠的分布式存储系统中。HDFS环境中的数据通常采用MapReduce批处理作业形式处理。

服务层支持用户在批处理视图中进行快速查询,但是这些视图仅仅包含在开始生成批处理作业之前产生的信息。为了弥补这个时间差,所有新数据将并行输入速度层。速度层将利用流处理技术(比如ApacheStorm或SparkStreaming)实时处理新数据。处理结果将用于以增量方式,更新支持快速随机读写的数据库中的实时视图(例如,利用ApacheCassandra)。

速度层则需要粗略估算结果,因为速度层只包含当前信息而没有历史数据。正如前文所述,当执行查询操作时,实时视图和批处理视图将在服务层中合并。

最近,Lambda架构饱受争议,因为这种架构创造了一个由各种不同组件松散集成的复杂结构,而且还要求用户针对批处理层和速度层中的不同技术堆栈实施各种代码基。与此同时,用户还必须维护已经实施的功能并使其保持同步,以确保这些功能能够以从批处理层和速度层生成同样的结果。考虑到分布式系统极其复杂,这里面将涉及大量工作。但是撇开这些批判,Lambda架构仍然是一种有效的大数据处理技术。归根结底,关键就是要让Lambda的要求更易于管理。

SAPHANA可以帮助你从该平台的预集成组件(包括处理引擎和数据存储器),实施一款完整的Lambda架构。SAPHANA甚至超越了Lambda架构,因为该平台提供了与远程数据源集成的选项,而且还支持数据集成和复制、数据转换、数据质量运营、事件流处理以及联合查询执行等。此外,SAPHANA还能提供集成式数据平台所具备的诸多优势,比如更简单的安装、管理、生命周期管理和开发流程,因为Lambda架构的三个层次可以在同一个系统内运行,而且所有持久数据可以在同一数据库内访问。

点击文末阅读原文

下载完整文档

赞赏

长按







































引起白癜风原因是什么
白癜风用什么药最管用



转载请注明:http://www.92nongye.com/xxmb/204619389.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了