【软考速通笔记】系统架构设计师⑱——大数据架构设计理论与实践

文章目录

  • 一、前言
  • 二、传统数据库遇到的问题
    • [2.1 问题的根源](#2.1 问题的根源)
    • [2.2 传统解决方法](#2.2 传统解决方法)
  • 三、大数据基础
    • [3.1 大数据处理技术](#3.1 大数据处理技术)
    • [3.2 大数据利用过程](#3.2 大数据利用过程)
    • [3.3 大数据处理系统面临的挑战](#3.3 大数据处理系统面临的挑战)
    • [3.4 大数据具有的属性和特征](#3.4 大数据具有的属性和特征)
  • 四、Lanbda架构
    • [4.1 批处理层](#4.1 批处理层)
    • [4.2 加速层](#4.2 加速层)
    • [4.3 服务层](#4.3 服务层)
  • 五、Kappa架构
    • [5.1 实时层](#5.1 实时层)
    • [5.2 服务层](#5.2 服务层)
  • 六、Lambda和Kappa对比

一、前言

笔记目录大纲请查阅:【软考速通笔记】系统架构设计师------导读

二、传统数据库遇到的问题

2.1 问题的根源

  • 用户访问量增加:随着业务的扩展,用户数量激增导致并发请求增多。
  • 数据量增长:业务数据的累积导致数据库存储压力增大。
  • 性能瓶颈:数据库读写操作因数据量增加而响应时间延长,甚至超时。

2.2 传统解决方法

  • 异步处理:引入消息队列等机制,减轻数据库即时处理压力。
  • 数据库分区:通过Key分区或范围分区,分散数据存储和访问压力。
  • 分片技术:数据库分片或重新分片,提高数据管理的灵活性和查询效率。
  • 读写分离:将读操作和写操作分离,提高数据库的并发处理能力。
  • 分库分表:通过物理或逻辑的方式,将数据分散存储,提升性能。

三、大数据基础

3.1 大数据处理技术

  • 分布式文件系统:如Hadoop,提供高吞吐量的数据访问。
  • 数据处理框架:Map/Reduce和Spark,用于大规模数据集的并行处理。
  • 消息队列:如Kafka,配合Avro等二进制格式,实现高效的数据传输。

3.2 大数据利用过程

  • 采集:从多个数据源收集数据。
  • 清洗:去除无效或错误的数据。
  • 统计:对数据进行汇总和分析。
  • 挖掘:使用机器学习等技术发现数据中的模式和趋势。

3.3 大数据处理系统面临的挑战

  • 非结构化数据处理:如何处理和分析非结构化和半结构化数据。
  • 复杂性与不确定性:探索大数据的特征描述和系统建模方法。
  • 数据异构性:数据异构性对知识发现和管理决策的影响

3.4 大数据具有的属性和特征

  • 鲁棒性和容错性:系统能够处理部分节点故障。
  • 低延迟:快速响应查询请求。
  • 横向扩展:通过增加节点而非增强单个机器性能来扩展系统。
  • 通用性:适用于多种类型的数据处理任务。
  • 可扩展性:系统能够灵活扩展以适应数据量的增长。
  • 即席查询:用户可以根据自己的需求进行查询。
  • 维护简便:系统设计简单,易于维护。
  • 可调试:系统可以根据需要调整性能和资源分配。

四、Lanbda架构

Lanbda架构是一种用于同时处理离线和实时数据的、可容错的、可扩展的分布式系统。

  • 优点:容错性好,查询灵活度高,弹性伸缩,易于扩展。
  • 缺点:编码量大,持续处理成本高,重新部署和迁移成本高。

4.1 批处理层

  • 数据存储:使用Hadoop HDFS或HBase存储主数据集,保证数据的原始性和不可变性。
  • 数据处理:使用Spark或MapReduce周期性地处理增量数据并存储到主数据集。
  • 批视图生成:使用MapReduce用于生成批处理视图。

4.2 加速层

  • 实时数据处理:使用Hadoop HDFS或HBase处理和存储增量实时数据。
  • 实时视图实现:使用Spark或Storm进行实时数据处理和视图。

4.3 服务层

  • 请求响应:合并批视图和实时视图的结果数据集,提供最终数据集。
  • 数据存储:使用Hbase或Cassandra作为服务层存储。
  • 查询视图:使用Hive创建可查询的视图

五、Kappa架构

Kappa架构是在Lambda架构的基础上进行了优化,删除了Batch Layer的架构,将数据通道以消息队列进行替代。

  • 优点:简化了Lambda架构中的加速层,统一了离线和实时处理代码,便于维护。
  • 缺点:可能存在性能瓶颈,数据关联处理开销大,牺牲了离线计算的可靠性。

5.1 实时层

  • 流式处理:采用流式处理引擎逐条处理输入数据,生成实时视图。
  • 数据回访:使用Kafka等消息队列回访数据,使用Flink或Spark Streaming进行处理。

5.2 服务层

  • 数据湖:Kappa架构倾向于将所有原始数据存储在数据湖中,以供后续分析和处理。这有助于保留所有历史数据,并支持未来的查询和分析需求。可以使用分布式存储系统(如 Apache Hadoop HDFS)

六、Lambda和Kappa对比

对比内容 Lambda Kappa
复杂度 维护两套系统(引擎),复杂度高,成本高 维护一套系统(引擎),复杂度低,成本低
计算开销 周期性批处理计算,维持实时计算,计算开销大 必要时进行全量计算,计算开销相对较小
实时性 满足实时性 满足实时性
历史数据处理能力 批式全量处理,吞吐量大,历史数据处理能力强。 流式全量处理,吞吐量相对较低,历史数据处理能力相对较低
技术依赖 依赖Hadoop、Spark、Storm技术 依赖Flink计算引擎、流式计算

若觉得文章对你有帮助,随手『点赞』、『收藏』、『关注』,也是对我的支持。

相关推荐
一切皆是因缘际会7 小时前
终结拟合式智能:记忆博弈心智架构重塑硅基生命进化逻辑
大数据·人工智能·深度学习·机器学习·架构
一起聊电气7 小时前
不止保安全!智慧用电系统解锁照明安全节能双赛道
大数据·网络·人工智能·安全·智能家居·空调
05候补工程师7 小时前
【考研线代】矩阵相似与对角化核心解题套路与防坑指南 (附实战笔记)
经验分享·笔记·线性代数·考研·矩阵
Jason_zhao_MR7 小时前
RK3506工业网关:如何打通现场采集、无线传输与行业规约接入?
linux·嵌入式硬件·物联网·系统架构·嵌入式
星恒随风8 小时前
从0开始的操作系统(3)
开发语言·笔记·学习
肖有米XTKF86468 小时前
肖有米开发团队:昕之康模式系统开发-昕之康小程序制度商城
大数据·人工智能·团队开发·csdn开发云
云创智城-yuncitys8 小时前
行业深度|智慧停车下半场:硬件内卷已死,数据AI智能运营才是核心壁垒,当别人还在卷车牌识别,我们已经用AI重构了停车运营的“大脑”
系统架构·智慧停车·ai智能化·行业思考·停车源码·停充一体化
落日屿星辰8 小时前
hixl - 让分布式通信“零拷贝“
大数据
東隅已逝,桑榆非晚8 小时前
C语言内存函数
c语言·开发语言·笔记·算法
SOC罗三炮8 小时前
Hermes Agent 源码深度解构:一个“自进化“AI Agent的完整架构拆解
大数据·人工智能·架构