当前位置: 首页 > news >正文

软考:大数据架构设计

大数据总结

大数据处理系统的特征

1、鲁棒性和容错性
2、低延迟读取和更新能力
3、横向扩容
4、通用性
5、延展性
6、即席查询能力
7、最少维护能力
8、可调试性

Lambda架构

批处理层

存储数据集和生成Batch View
管理主数据集,原始的,不可变的,真实的

在大数据架构设计中,批处理层是Lambda架构的核心组成部分之一,其主要功能和特点如下:

  1. 存储管理主数据集:批处理层负责存储不可变的数据集预先批处理计算好的视图。这意味着它处理的是历史数据,确保数据的完整性和准确性

  2. 预先计算结果:批处理层使用分布式处理系统预先计算结果,通过处理所有的历史数据来实现数据的准确性。这通常涉及到大规模的数据集,需要强大的计算能力。

  3. 数据准确性:由于批处理层基于完整的数据集重新计算,它能够修复任何错误,并更新现有的数据视图。这保证了数据的准确性和可靠性。

  4. 输出存储:批处理层的输出通常存储在只读数据库中,更新则完全取代现有的预先计算好的视图。

  5. 使用技术:批处理层可以用Hadoop、Spark和Flink等框架进行计算。这些框架能够处理大规模数据集,并提供强大的数据处理能力。

  6. 与实时数据处理的结合:在Lambda架构中,批处理层与速度处理层(Speed Layer)相结合,以提供实时和历史数据的查询服务。速度层处理实时数据,而批处理层处理历史数据,两者的结合为用户提供了全面的数据视图。

  7. 数据冗余:虽然批处理层提供了数据的准确性,但也带来了数据冗余的问题,因为同样的数据可能在批处理层和速度层都被处理。

综上所述,批处理层在大数据架构中扮演着至关重要的角色,它通过处理历史数据来保证数据的完整性和准确性,同时与实时数据处理层相结合,为用户提供全面的数据分析服务。

加速层

建立索引,能快速查询,存储实时试图并处理传入的数据流,以便更新这些视图。
加速层相当于就是加速计算,只处理增量的数据集。

分层计算的特点:
1、容错性,就是在加速层可能出现的错误,可用在批处理层进行修正
2、复杂性隔离,将复杂的实时处理隔离出来,提高整个系统的鲁棒行和可靠性
3、横向扩容,支持线性可扩展

服务层

用来响应用户的查询请求。

具体实现

Hadoop用来存储主数据集
Spark构成加速层
Hbase作为服务层
Hive创建可查询的视图

Kappa架构

数据系统=数据+查询
数据的特性:When,What,也就是记录数据的版本
数据的存储:Lambda,数据是不可变的,不可变只需要在后面追加数据即可,

采用了重新处理事件的原则,有能力在业务逻辑更新的情况下重新处理以前处理过的历史数据

删除了Batch Layer的架构。数据通道已消息队列进行替代。

lambda和kappa架构的对比

Lambda架构和Kappa架构是两种不同的大数据架构,它们各自有不同的特点和适用场景。以下是它们的对比:

  1. 架构复杂性与维护

    • Lambda架构:包含批处理层和速度层,需要维护两套系统,这可能导致维护和管理上的复杂性增加。
    • Kappa架构:通过消除批处理层,简化了架构,减少了维护的复杂性。
  2. 实时性与历史数据处理

    • Lambda架构:适合需要历史数据分析的场景,通过批处理层可以处理历史数据。
    • Kappa架构:更侧重于实时数据处理,适合对实时性要求极高的应用。
  3. 容错性与一致性

    • Lambda架构:批处理层提供了强大的容错性和数据一致性保证,适合对数据准确性要求极高的场景。
    • Kappa架构:依赖于流处理层的容错机制,可能在某些场景下需要额外的措施来确保数据一致性。
  4. 技术适应性

    • Lambda架构:由于其成熟的技术生态,可能更容易找到经验丰富的技术人员。
    • Kappa架构:可能需要团队适应新的流处理技术。
  5. 数据冗余与存储成本

    • Lambda架构:为实现不可变的数据需要存储原始数据,数据的不断追加会带来很大的存储成本。
    • Kappa架构:通过重新处理历史数据改进逻辑算法,可以减少数据冗余和存储成本。
  6. 开发和维护成本

    • Lambda架构:批处理层和速度层采用两套不同的技术方案,开发和维护成本都比较大。
    • Kappa架构:只需要维护实时处理模块,可以降低开发和维护成本。
  7. 适用场景

    • Lambda架构:因其优秀的稳定性和容错性,仍被应用在众多场景中,适合需要稳健机器学习模型的场景。
    • Kappa架构:适用于需要高实时性和灵活性的业务逻辑。

总的来说,Lambda架构适合需要同时处理实时和历史数据的场景,而Kappa架构则更适合对实时性要求高、历史数据处理需求相对较低的场景。选择哪种架构取决于具体的业务需求、数据处理的特点以及团队的技术能力。


http://www.mrgr.cn/news/64388.html

相关文章:

  • MATLAB口罩检测
  • Linux 安装MySQL(Cenots版本)
  • GPT-Sovits-1-数据处理
  • Chrome与夸克谁更节省系统资源
  • el-tree展开子节点后宽度没有撑开,溢出内容隐藏了,不显示横向滚动条
  • qt QDialog详解
  • 【AI日记】24.11.02 LangChain Chat with Your Data
  • STM32F1学习——TIM
  • 【数模国奖】数模国赛获奖名单已出!附2024国赛二十三大赛区成绩公布通知!
  • 共模噪声和差模噪声
  • 【C#】Dictionary底层实现
  • STM32F103的CAN通讯接收测试
  • P3-1.【结构化程序设计】第一节——知识要点:算法、顺序结构程序设计、if语句的语法结构及各种用法
  • 带你了解 Spring Cloud Config
  • [进阶]集合的进阶(1)泛型
  • python NLTK快速入门
  • Uniapp打包发布App Store时(90894)错误
  • “七巨头”(The Magnificent 7)科技公司财报喜忧参半看AI
  • 解读JobScheduler的jobs.xml
  • 在centos中安装cmake
  • MySQL基础(三)
  • Java入门(5)--多线程编程
  • MybatisPlus入门(六)MybatisPlus-空值处理
  • AI GPU系统调试能力与实践
  • 浙江深大智能科技有限公司管控平台服务端存在任意文件上传漏洞
  • 【ROS2】文档、教程、源码汇总