软考-系统架构设计师-大数据架构设计理论与实践-练习题3

练习题

3. 某互联网公司近期为其旗下产品升级架构,架构图如图22.10所示,请指出该架构图采用的是什么架构,并结合架构图说明该架构的层次结构

软考-系统架构设计师-大数据架构设计理论与实践-练习题3_第1张图片

图22.10

解析

根据题目给出的架构图可发现,该产品通过Collector收集结构化数据推送给主Kafka。主Kafka再将数据写入HDFS分布式文件系统,而异构数据通过DataX/Sqoop写入HDFS。HDFS中的数据会通过Offline采用 Hive、MapReduce 或Spark 进行离线处理,还会通过OLAP采用Kylin 或Naix进行联机分析处理后存储至由非各类关系型数据库组成的处理结果集。主Kafka会通过分发机制将数据分发给Kafka,从而将数据转交给 Flink/Storm 订阅者。Flink/Storm 会对数据进行流式实时处理,再将处理结果存储至处理结果存储。OneDataAPI通过非关系型数据库中的处理结果对数据平面DataFace和业务系统提供数据服务。通过分析架构图可知,该架构图采用的是Lambda架构。

答案

该架构图采用的是Lambda架构,该架构由如下层次组成:

(1)数据采集层:Collector、DataX/Sqoop。

(2)数据源:HDFS。

(3)批处理层:Offline(Hive/MR/Spark),OLAP(Kylin/Naix)。

(4)加速层:Flink/Storm。

(5)服务层:结果视图存储(MongoDB、ElasticSearch、HBase、Redis..),OneDataAPI。

关键词 - 概念

关键词 概念
Lambda架构

Lambda架构是一个用于处理大数据的架构设计,其主要目标是解决如何处理大规模、高速度以及多样化的数据流。其核心思想是将数据分为两个流:

1.快速流(速度快,但丢失一些数据):使用实时流处理技术进行处理,以快速响应并生成近似的结果。

2.慢速流(速度慢,但保留所有数据):使用批处理技术进行处理,以生成最终的结果。

Lambda架构中还引入了一个数据层的概念,即批处理层实时处理层批处理层用于离线批处理数据,实时处理层用于快速处理实时数据。两个层之间是通过数据源进行数据同步的。

数据采集层 数据采集层是数据仓库架构的第一层,主要负责从不同的数据源中采集、整合和清洗数据,以确保数据的准确性、一致性和完整性。
数据源

大数据数据源是指大数据系统中用于存储、管理和处理数据的来源。数据源可以来自多个不同的数据系统和数据来源,例如传感器、社交媒体、物联网设备、传统数据库、文件系统、日志文件、云存储等。

大数据数据源包含结构化、半结构化和非结构化数据,这些数据可能在格式和数据类型上不同,但大数据系统可以通过适当的技术和工具对其进行收集、存储、管理、处理和分析。数据源的选择和管理对于大数据系统的性能和效率至关重要。

批处理层 Lambda架构的批处理层是整个Lambda架构中最为重要的一层,主要承担离线数据处理和分析的任务,生成批视图
加速层 负责处理实时数据流,使用流处理引擎实时计算、聚合和过滤数据,生成实时视图。
服务层 响应用户请求,合并批视图和实时视图中的结果数据集得到最终数据集。具体来说就是接收用户请求,通过索引加速访问批视图,直接访问实时视图,然后合并两个视图的结果数据集生成最终数据集,响应用户请求。

你可能感兴趣的:(软考-系统架构设计师,软考,系统架构设计师,Lambda架构)