当前位置: 首页 > 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架构则更适合对实时性要求高、历史数据处理需求相对较低的场景。选择哪种架构取决于具体的业务需求、数据处理的特点以及团队的技术能力。

相关文章:

软考:大数据架构设计

大数据总结 大数据处理系统的特征 1、鲁棒性和容错性 2、低延迟读取和更新能力 3、横向扩容 4、通用性 5、延展性 6、即席查询能力 7、最少维护能力 8、可调试性 Lambda架构 批处理层 存储数据集和生成Batch View 管理主数据集,原始的,不可变的&…...

token无感刷新+处理并发的后端方案

问题描述: 当用户通过登陆后进入一个web网站,会把token保存到localStorage。假设token过期时间30min。 那么当用户在网站快乐地玩耍了30min后,这时进行了一次提交表单,它会被重定向到登陆页面。 作为用户:我表单填了…...

【系统设计】让 Java “动起来”:动态语言与静态语言的比较及 DSL 实现

在编程语言的世界里,语言的特性决定了它们在不同场景下的适用性。动态语言和静态语言是两种常见的编程范式,它们的差异不仅影响开发者的使用习惯,还决定了它们在某些应用场景中的表现。在这篇博文中,我们将通过Python和Java这两种…...

TCP Analysis Flags 之 TCP Keep-Alive

前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…...

mfc140u.dll丢失怎么办? mfc140u.dll文件缺失的修复技巧

mfc140u.dll 是 Microsoft Foundation Classes (MFC) 库的一部分,它是 Visual Studio 2015 的组件之一,主要服务于使用 C 编写的 Windows 应用程序。这个动态链接库文件包含了 MFC 14.0 Unicode 版本的实现代码,为应用程序提供运行时支持。当…...

Spring Security使用

文章目录 Spring Security的起点FilterChain重写重写登录验证逻辑增加CSRF Token增加方法权限校验 Spring Security的起点 在AbstractApplicationContext.refresh()方法时,子类ServletWebServerApplicationContext会创建一个ServletContextInitializerBeans这个Bea…...

CSS网页布局综合练习(涵盖大多CSS知识点)

该综合练习就是为这个学校静态网页设置CSS样式&#xff0c;使其变成下面的模样 其基本骨架代码为&#xff1a; <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta name"viewport" content…...

解决 Hardhat Verify 超时

问题背景 今天在学习使用Hardhat进行verify 合约 到 Ethscan的时候&#xff0c;出现了如下报错 fafafafadeMacBook-Air Web3_Solidity_Study % npx hardhat verify --network sepolia XXXXXXXXXXXXXXXXXXXXXXXX "10" Successfully verifie…...

ACIS创建各种基本体,举例说明

ACIS&#xff08;Advanced CAD Interoperability System&#xff09;是一个广泛使用的三维几何建模内核&#xff0c;它支持创建和操作各种基本的三维几何体。虽然ACIS没有专门的函数来直接创建某些特定的基本体&#xff08;如椭球体&#xff09;&#xff0c;但可以通过一系列变…...

[CISCN 2019华北]PWN1-好久不见7

Partial RELRO 表示部分 RELRO 保护已启用。在这种情况下&#xff0c;只有某些部分&#xff08;如 GOT 中的只读部分&#xff09;是只读的。 NX enabled 表示这个二进制文件启用了 NX 保护&#xff0c;数据段是不可执行的。这可以防止某些类型的代码注入攻击。 这里是ida识别…...

代码随想录day16| 513找树左下角的值 、 路径总和 、 从中序与后序遍历序列构造二叉树

代码随想录day16| 找树左下角的值 、 路径总和 、 从中序与后序遍历序列构造二叉树 513找树左下角的值层序遍历法递归法 路径总和112. 路径总和113. 路径总和 II 从中序与后序遍历序列构造二叉树思路 513找树左下角的值 层序遍历法 使用层序遍历&#xff0c;找到最后一层最左边…...

使用 MMDetection 实现 Pascal VOC 数据集的目标检测项目练习(二) ubuntu的下载安装

首先&#xff0c;Linux系统是人工智能和深度学习首选系统。原因如下: 开放性和自由度&#xff1a;Linux 是一个开源操作系统&#xff0c;允许开发者自由修改和分发代码。这在开发和研究阶段非常有用&#xff0c;因为开发者可以轻松地访问和修改底层代码。社区支持&#xff1a;…...

书生大模型实战营(第四期)——入门岛

第 1 关 Linux 前置基础 闯关任务完成SSH连接与端口映射并运行hello_world.py10min可选任务 1将Linux基础命令在开发机上完成一遍10min可选任务 2使用 VSCODE 远程连接开发机并创建一个conda环境10min 完成SSH连接 创建python文件 建环境 运行 第 2 关 Python 前置基础 Leet…...

压强随着时间的变化

import numpy as np import matplotlib.pyplot as plt# 参数设置 L 50 # 长度 (m) D 4 # 直径 (m) d 0.01 # 洞的直径 (m) P0 101300 # 初始压力 (Pa) P_final 0.3 * P0 # 最终压力 (Pa) R 287 # 理想气体常数 (J/(kgK)) T 20 273.15 # 温度 (K) M 0.029 # 空…...

2024年大厂AI大模型面试题精选与答案解析

前言 随着AI市场&#xff0c;人工智能的爆火&#xff0c;在接下来的金九银十招聘高峰期&#xff0c;各大科技巨头和国有企业将会对AGI人才的争夺展开一场大战&#xff0c;为求职市场注入了新的活力。 为了助力求职者在面试中展现最佳状态&#xff0c;深入理解行业巨头的选拔标…...

Linux开发讲课47--- 详解 Linux 中的虚拟文件系统

虚拟文件系统是一种神奇的抽象&#xff0c;它使得 “一切皆文件” 哲学在 Linux 中成为了可能。 什么是文件系统&#xff1f;根据早期的 Linux 贡献者和作家 Robert Love 所说&#xff0c;“文件系统是一个遵循特定结构的数据的分层存储。” 不过&#xff0c;这种描述也同样适用…...

全球银行常用英语

Earn OCBC$ or 90 Miles or VOYAGE Miles today! Get the most out of your OCBC Card with OCBC Privileges. 今天赚取华侨银行美元或 90 英里或航程英里&#xff01;通过华侨银行特权充分利用您的华侨银行卡。 Check out the rewards catalogue. Apply for a OCBC Credit Car…...

新160个crackme -090-tc.12

运行分析 需要破解注册码 PE分析 Delphi程序&#xff0c;32位&#xff0c;无壳 静态分析&动态调试 ida搜不到字符串&#xff0c;根据Deiphi程序的结构&#xff0c;直接打开来到start函数&#xff0c;找到CreateForm函数的参数off_445FC4&#xff0c;双击 逐个查找偏移&…...

Swagger文档-Unable to scan documentation context default报错

文章目录 报错情况&#xff1a; Unable to scan documentation context 管理端接口发生情况一&#xff1a;发生情况三&#xff1a; 报错情况&#xff1a; Unable to scan documentation context 管理端接口 报错日志&#xff1a; 2024-11-03 12:40:27.427 ERROR 3340 --- [ …...

SpringKafka生产者、消费者消息拦截

1 前言 在Spring Kafka中&#xff0c;可以通过配置拦截器来实现对生产者和消费者消息的拦截。拦截器可以用来记录日志、修改消息等等。 2 基于Kafka管理的拦截器 Kafka原生提供的拦截器接口是org.apache.kafka.clients.producer.ProducerInterceptor和 org.apache.kafka.cli…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...