
架构设计 相关文档希望互相学习共同进步风123456789-CSDN博客系统架构设计 相关文章【架构专栏】架构考试介绍【架构专栏】架构知识点知识总览共19章内容主要包括11绪论、2计算机系统、3信息系统、4信息安全技术、5软件工程26数据库设计、7系统架构设计基础知识38系统质量属性与架构评估、9软件可靠性、10软件架构演化与维护、11未来信息综合技术412信息系统架构设计、13层次式架构设计、14云原生架构设计、15面向服务架构设计、16嵌入式系统架构设计、17通信系统架构设计、18安全架构设计、19大数据架构设计每天进步一点点加油小伙伴们本文学习 第19章大数据架构设计以下为个人笔记希望有所帮助共同学习。涉及案例分析题和论文题侧重理解性记忆来源于教材知识点需要灵活运用包括传统数据处理系统存在的问题、大数据处理系统架构分析大数据处理系统面临挑战、大数据处理系统架构特征、Lambda 架构Lambda 架构对大数据处理系统的理解、应用场景、Lambda架构介绍、 Lambda架构的实现、Lambda 架构优缺点、Lambda 与其他架构模式对比、Kappa架构Kappa架构下对大数据处理系统的理解、架构介绍、Kappa架构的实现、Kappa架构 的优缺点、常见 Kappa架构 变形、Lambda 与 Kappa 架构的对比和设计选择Lambda架构与Kappa架构的特性对比、Lambda架构与Kappa架构的设计选择、大数据架构设计案例分析Lambda 架构在某网奥运中的大数据应用、Lambda架构在某网广告平台的应用与演进、某证券公司大数据系统、某电商智能决策大数据系统。第19章大数据架构设计大数据架构主要面向大数据的容量体量、类型多样、高速实时、客观真实、价值可观、变化多样和复杂多源的特性既要构建高质量属性的架构解决方案又受制于成本、性能、可扩展性等诸多条件。同时云计算、物联网以及边缘计算等客观环境的发展也对大数据架构的设计提出了弹性、容器化等新的要求。当前主要技术实践中以Lambda 架构、Kappa 架构和IOTA 架构较为典型 但新版考试大纲中主要考查 Lambda 架构、Kappa 架构在设计中的理论、理解及实践。19.1 传统数据处理系统存在的问题传统数据库的数据过载问题传统应用的数据系统架构设计时应用直接访问数据库系统。当用户访问量增加时数据库无法支撑日益增长的用户请求的负载从而导致数据库服务器无法及时响应用户请求出现超时的错误。常用解决方法如下1增加异步处理队列通过工作处理层批量处理异步处理队列中的数据修改请求。2建立数据库水平分区通常建立 Key分区以主键/唯一键 Hash 值作为 Key。3建立数据库分片或重新分片通常专门编写脚本来自动完成且要进行充分测试。 4引入读写分离技术主数据库处理写请求通过复制机制分发至从数据库。5引入分库分表技术按照业务上下文边界拆分数据组织结构拆分单数据库压力。大数据的特点大数据具有体量大、时效性强的特点并非构造单调而是类型多样处理大数据时传统数据处理系统因数据过载来源复杂类型多样等诸多原因性能低下需要采用以新式计算架构和智能算法为代表的新技术大数据的应用重在发掘数据间的相关性而非传统逻辑上的因果关系因此大数据的目的和价值就在于发现新的知识洞悉并进行科学决策。现代大数据处理技术主要分为以下几种1基于分布式文件系统 Hadoop。2使用Map/Reduce 或 Spark 数据处理技术。3使用Kafka 数据传输消息队列及Avro 二进制格式。大数据利用过程大数据的利用过程分为采集、清洗、统计和挖掘4 个过程。19.2 大数据处理系统架构分析19.2.1 大数据处理系统面临挑战大数据处理系统面临的挑战主要有1.如何利用信息技术等手段处理非结构化和半结构化数据2.如何探索大数据复杂性、不确定性特征描述的刻画方法及大数据的系统建模3.数据异构性与决策异构性的关系对大数据知识发现与管理决策的影响19.2.2 大数据处理系统架构特征大数据处理系统应具有的属性和特征包括鲁棒性和容错性、低延迟、横向扩展通过增强机器性能扩展、通用、可扩展、即席查询用户按照自己的要求进行查询、最少维护和可调试。1.鲁棒性和容错性 (Robust and Fault-tolerant)2.低延迟读取和更新能力 (Low Latency Reads and Updates)3.横向扩容 (Scalable)4.通用性 (General)5.延展性 (Extensible)6.即席查询能力 (Allows Ad Hoc Queries)7.最少维护能力 (Minimal Maintenance)8.可调试性 (Debuggable)19.3 Lambda 架构19.3.1 Lambda 架构对大数据处理系统的理解Lambda 架构是一种用于同时处理离线和实时数据的、可容错的、可扩展的分布式系统。Lambda 架构设计目的在于提供一个能满足大数据系统关键特性的架构包括高容错、低延迟、可扩展等。其整合离线计算与实时计算融合不可变性、读写分离和复杂性隔离等原则。Lambda是用于同时处理离线和实时数据的可容错的可扩展的分布式系统。它具备强鲁棒性提供低延迟和持续更新。19.3.2 Lambda 架构应用场景Lambda架构应用场景机器学习、物联网、流处理。1.机器学习中的 Lambda架构2.物联网的 Lambda架构3.流处理和 Lambda 架构挑战19.3.3 Lambda架构介绍Lambda 架构可分解为三层即批处理层、加速层、服务层。Lambda 架构分为以下 3 层1批处理层Batch Layer。该层核心功能是存储主数据集主数据集数据具有原始、不可变、真实的特征。批处理层周期性地将增量数据转储至主数据集并在主数据集上执行批处理生成批视图。Batch Layer 在数据集上预先计算查询函数并构建查询所对应的View。BatchLayer可以很好地处理离线数据但有很多场景数据不断实时生成并且需要实时查询处理。Speed Layer正是用来处理增量的实时数据。架构实现方面可以使用 Hadoop HDFS 或 HBase 存储主数据集再利用 Spark 或 MapReduce 执行周期批处理之后使用 MapReduce 创建批视图。2加速层Speed Layer。该层的核心功能是处理增量实时数据生成实时视图快速执行即席查询。Batch Layer 处理的是全体数据集,而 Speed Layer处理的是最近的增量数据流。Speed Layer为了效率在接收到新的数据后会不断更新Real-time View, 而Batch Layer是根据全体离线数据集直接得到BatchView。架构实现方面可以使用 Hadoop HDFS 或 HBase 存储实时数据利用 Spark 或 Storm 实现实时数据处理和实时视图。3服务层Serving Layer。该层的核心功能是响应用户请求合并批视图和实时视图中的结果数据集得到最终数据集。具体来说就是接收用户请求通过索引加速访问批视图直接访问实时视图然后合并两个视图的结果数据集生成最终数据集响应用户请求。Serving Layer 用于合并 Batch View 和 Real-time View 中的结果数据集到最终数据集。用于响应用户的查询请求。架构实现方面可以使用 HBase 或 Cassandra 作为服务层通过Hive 创建可查询的视图。19.3.4 Lambda架构的实现如图所示在这种 Lambda 架构实现中1Hadoop(HDFS) 用于存储主数据集2Spark或Storm) 可构成速度层SpeedLayer)3HBase或Cassandra) 作为服务层由 Hive 创建 可查询的视图。◆ Hadoop 是被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个具有高度容错性的系统能提供高吞吐量的数据访问非常适合大规模数据集上的应用。HDFS放宽了一些约束以达到流式读取文件系统数据的目的。◆ ApacheSpark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark中间输出结果可以保存在内存中从而不再需要读写HDFS因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的Map Reduce算法。◆ HBase-HadoopDatabase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统利用HBase技术可在廉价 PCServer 上搭建起大规模结构化存储集群。19.3.5 Lambda 架构优缺点Lambda 架构优缺点1Lambda 架构的优点容错性好查询灵活度高弹性伸缩易于扩展。2Lambda 架构的缺点编码量大持续处理成本高重新部署迁移成本高。全场景覆盖带来的编码开销。针对具体场景重新离线训练一遍益处不大。重新部署和迁移成本很高。19.3.6 Lambda 与其他架构模式对比与 Lambda 架构相似的模式有事件溯源模式、命令查询职责分离模式。1.事件溯源 (Event Sourcing) 与 Lambda 架构EventSourcing 本质上是一种数据持久化的方式其由三个核心观点构成1整个系统以事件为驱动所有业务都由事件驱动来完成。2事件是核心系统的数据以事件为基础事件要保存在某种存储上。3业务数据只是一些由事件产生的视图不一定要保存到数据库中。Lambda 架构中数据集的存储使用的概念与 Event Sourcing 中的思想完全一致二者都是在使用统一的数据模型对数据处理事件本身进行定义。这样在发生错误的时候能够通过模型找到错误发生的原因对这一事件进行重新计算以丢弃错误信息恢复到系统应该的正确状态以此实现了系统的容错性。2.CQRS与 Lambda 架构CQRS 架构分离了对于数据进行的读操作查询和写修改)操作。其将能够改变数据模型状态的命令 和 对于模型状态的查询操作 实现了分离。这是领域驱动设计的一个架构模式主要用来解决数据库报表的输出处理方式。Lambda 架构中数据的修改通过 批处理 和 流处理 实现通过写操作将数据转换成查询时所对应的View。在Lambda架构中对数据进行查询时实际上是通过读取 View 直接得到结果读出所需的内容。这实际上是一种形式的读写分离。19.4 Kappa架构【架构专栏】第19章 大数据架构设计 2/2https://blog.csdn.net/weixin_42081167/article/details/16673558819.5 Lambda 与 Kappa 架构的对比和设计选择【架构专栏】第19章 大数据架构设计 2/2https://blog.csdn.net/weixin_42081167/article/details/16673558819.6 大数据架构设计案例分析【架构专栏】第19章 大数据架构设计 2/2https://blog.csdn.net/weixin_42081167/article/details/166735588习题以下关于大数据的说法中错误的是 。A大数据拥有体量大、构造单调、时效性强等特点B处理大数据需要采用新式计算架构和智能算法等新技术C大数据的应用着重相关剖析而不是因果剖析D大数据的目的在于发现新的知识洞悉并进行科学决策解析大数据具有体量大、时效性强的特征并非构造单调而是类型多样处理大数据时 传统数据处理系统因数据过载来源复杂类型多样等诸多原因性能低下需要采用以新式计算架构和智能算法为代表的新技术大数据的应用重在发掘数据间的相关性而非传统逻辑上的因果关系因此大数据的目的和价值就在于发现新的知识洞悉并进行科学决策。答案ALambda 架构分为三层 1 的核心功能是存储主数据集。 2 的核心功能是处理增量实时数据生成实时视图快速执行即席查询。 3 的核心功能是响应用户请求合并批 视图和实时视图中的结果数据集得到最终数据集。1A批处理层B流处理层 C加速层 D存储层2A批处理层 B服务层 C加速层D视图层3A视图层 B流处理层 C服务层D存储层解析Lambda 架构分为 3 层1批处理层。该层的核心功能是存储主数据集主数据集数据具有原始、不可变、真实的 特征。批处理层周期性地将增量数据转储至主数据集并在主数据集上执行批处理生成批视图。 架构实现方面可以使用 Hadoop HDFS 或 HBase 存储主数据集再利用 Spark 或 Map/Reduce 执行 周期批处理之后使用 Map/Reduce 创建批视图。2加速层。该层的核心功能是处理增量实时数据生成实时视图快速执行即席查询。架 构实现方面可以使用 Hadoop HDFS 或 HBase 存储实时数据利用 Spark 或 Storm 实现实时数据处理和实时视图。3服务层。该层的核心功能是响应用户请求合并批视图和实时视图中的结果数据集得到最终数据集。具体来说就是接收用户请求通过索引加速访问批视图直接访问实时视图然后合并两个视图的结果数据集生成最终数据集响应用户请求。架构实现方面可以使用HBase 或 Cassandra 作为服务层通过 Hive 创建可查询的视图。答案A C Cok, 今天就到这里吧 相关系列文章欢迎点赞、收藏提供意见计算机系统基础知识 1分概述、计算机硬件、计算机软件操作系统 3分进程管理、存储管理、文件管理、设备管理数据库技术 3分数据库设计、关系代数、范式、事务并发、数据库安全、新技术嵌入式技术 3分嵌入式硬件、嵌入式操作系统、嵌入式软件开发计算机网络 3分超纲较多OSI七层模型、TCP/IP协议族、网络生命周期、IP地址其他计算机系统基础知识 1分计算机语言、多媒体、系统工程系统性能 1分性能指标、性能设计信息系统基础知识 3分信息系统生命周期、开发方法、五大典型系统信息安全技术基础 5分安全属性、信息安全技术、网络安全技术、安全协议软件工程 12分概述、需求工程、系统设计、运维、测试、基于构件面向对象技术 3分面向对象基础、分析设计、UML关系、图项目管理 1分进度管理、配置管理、质量管理、风险管理系统架构设计 20分架构概念、生命周期、ABSD、DSSA、架构风格、架构复用、质量属性、架构评估软件可靠性 2分可靠性建模、软件可靠性设计软件架构的演化和维护1分架构演化分类、评估、面向对象架构演化未来信息综合技术 3分信息物理系统、人工智能、边缘计算、机器人、数字李生、云计算数学与经济管理 2分最小生成树、最短路径、网络与最大流量、线性规划、决策论知识产权和标准化 2分知识产权属性、保护期限、产权人确定、侵权判定专业英语 5分完形填空大学英语3级难度自学架构专栏知识点【架构专栏】架构考试介绍【架构专栏】架构知识点【架构专栏】第1章 绪论【架构专栏】第11章 未来信息综合技术【架构专栏】第2章 计算机基础知识【架构专栏】第12章 信息系统架构设计理论与实践【架构专栏】第3章 信息系统基础知识【架构专栏】第13章 层次式架构设计理论与实践【架构专栏】第4章 信息安全技术基础知识【架构专栏】第14章 云原生架构设计理论与实践【架构专栏】第5章 软件工程基础知识【架构专栏】第15章 面向服务架构设计理论与实践【架构专栏】第6章 数据库设计基础知识【架构专栏】第16章 嵌入式系统架构设计理论与实践【架构专栏】第7章 系统架构设计基础知识【架构专栏】第17章 通信系统架构设计理论与实践【架构专栏】第8章 系统质量属性与架构评估【架构专栏】第18章 安全架构设计理论与实践【架构专栏】第9章 软件可靠性基础知识【架构专栏】第19章 大数据架构设计理论与实践【架构专栏】第10章 软件架构的演化和维护希望有所帮助互相学习、共同进步欢迎点赞、收藏