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

系统架构设计师-第19章-大数据架构设计理论与实践-软考学习笔记

传统数据处理系统存在的问题

传统数据处理系统存在以下问题:

1. 数据孤岛问题:不同部门或系统之间的数据隔离,数据无法共享和整合。

2. 数据不一致性问题:由于数据维护分散,同一数据在不同系统或部门中可能存在不同的版本,造成数据不一致。

3. 数据冗余问题:同一数据在不同系统或部门中存在多份副本,造成资源浪费和数据安全隐患。

4. 数据安全问题:传统数据处理系统中的数据安全保护措施相对较弱,容易受到恶意攻击或数据泄露。

5. 数据处理效率低下问题:传统数据处理系统中的数据处理方式和技术相对落后,处理效率低下,无法满足大数据时代的需求。

6. 数据分析能力不足问题:传统数据处理系统中仅提供简单的数据处理和查询功能,无法进行高级的数据分析和挖掘,无法支持数据驱动的业务决策。

大数据处理系统架构分析

大数据处理系统架构主要包括以下几个方面:

1. 数据采集层:数据采集是大数据系统中非常重要的一步。大数据处理系统可以通过数据传感器、日志、文件等多种方式采集数据。数据采集层需要考虑数据的格式、容量、采集周期等因素。

2. 数据存储层:数据存储是大数据系统中非常重要的一部分。大数据处理系统可以使用多种存储方式,如HDFS、NoSQL数据库、关系型数据库等。数据存储层需要考虑数据的安全性、可扩展性、高可用性等因素。

3. 数据处理层:数据处理是大数据系统中最复杂的一部分。大数据处理系统可以使用多种处理方式,如MapReduce、Spark、Flink等。数据处理层需要考虑数据处理的速度、可扩展性、容错性、计算能力等因素。

4. 数据查询层:数据查询是大数据系统中非常重要的一部分。大数据处理系统可以使用多种查询方式,如Hive、Presto、Drill等。数据查询层需要考虑查询的效率、可扩展性、数据精确性等因素。

5. 数据可视化与分析层:大数据处理系统可以使用多种数据可视化工具,如Tableau、Power BI等。数据可视化与分析层需要考虑用户体验、数据分析的精准性等因素。

综上所述,大数据处理系统架构需要根据实际需求和情况综合考虑以上因素,构建一个高效可靠的大数据处理系统。

大数据处理系统而临挑战

1. 如何利用信息技术等手段处理非结构化和半结构化数据

2. 如何探索大数据复杂性、不确定性特征描述的刻画方法及大数据的系统建模

3. 数据异构性与决策异构性的关系对大数据知识发现与管理决策的影响

大数据处理系统架构特征

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 )

Lambda 架构

Lambda架构对大数据处理系统的理解

Lambda 是用于同时处理离线和实时数据的,可容错的,可扩展的分布式系统。它具备强鲁棒性,提供低延迟和持续更新。

Lambda架构应用场景

1. 机器学习中的Lambda 架构

2. 物联网的Lambda 架构

3. 流处理和Lambda 架构挑战

Lambda架构介绍

Lambda 架构可分解为三层,即批处理层、加速层和服务层。

Batch Layer 有两个核心功能: 存储数据集和生成Batch View.

主数据集中的数据必须具有以下三个属性:
( 1 ) 数据是原始的.
( 2 ) 数据是不可变的.
(3 ) 数据永远是真实的.

( 1) Speed Layer 处理的数据是最近的增量数据流, Batch Layer 处理的全体数据集。
(2) Speed Layer 为了效率,接收到新数据时不断更新Realtime View,而Batch Layer 根据全体离线数据集直接得到Batch View 。

Lambda 架构将数据处理分解为Batch Layer 和Speed Layer 有如下优点:
· 容错性。
· 复杂性隔离。
· Scalable (横向扩容) :当数据量/负载增大时,可扩展性的系统通过增加更多的机器资源来维持性能。

Lambda架构的实现

Lambda架构优缺点

1. 优点
(1)容错性好。Lambda 架构为大数据系统提供了更友好的容锚能力,一旦发生错误,我们可以修复算法或从头开始重新计算视图。
(2) 查询灵活度高。批处理层允许针对任何数据进行临时查询。
(3)易伸缩。所有的批处理层、加速层和服务层都很容易扩展。因为它们都是完全分布式的系统,我们可以通过增加新机器来轻松地扩大规模。
( 4 ) 易扩展。添加视图是容易的,只是给主数据集添加几个新的函数。
2 . 缺点
(1)全场景覆盖带来的编码开销。
(2) 针对具体场景重新离线训练一遍益处不大。
(3)重新部署和迁移成本很高。

Lambda与其他架构模式对比

事件溯源( Event Sourcing )与Lambda 架构

CQRS 与Lambda 架构

Kappa 架构

Kappa架构下对大数据处理系统的理解

数据的特性

数据的存储

Kappa架构介绍

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

从使用场景上来看, Kappa 架构与Lambda 相比,主要有两点区别:
( 1) Kappa 不是Lambda 的替代架构,而是其简化版本, Kappa 放弃f 对批处理的支持,更擅长业务本身为增量数据可入场景的分析需求,例如各种时序数据场景, 天然在在时间窗口的概念,流式计算直接满足其实时计算和历史补偿任务需求:
(2) Lambda 直接支持批处理,因此更适合对历史数据分析查询的场景,比如数据分析师需要按任意条件组合对历史数据进行探索性的分析,并且有一定的实时性;后求,期望尽快得到分析结果,批处理可以更1'[接高效地满足这些需求。

Kappa架构的实现

Kappa架构的优缺点

而Kappa 的缺点也很明显:
(1) 消息中间件缓存的数据量和回溯数据有性能瓶颈。
(2) 在实时数据处理时,遇到大量不同的实时流进行关联时,非常依赖实时计算系统的能力, 很可能因为数据流先后顺序问题,导致数据丢失。
(3) Kappa 在抛弃了离线数据处理模块的时候,同时抛弃f 离线计算更加稳定可靠的特点。

常见Kappa架构变形

Kappa+ 架构
混合分析系统的Kappa 架构

Lambda 架构与Kappa 架构的对比和设计选择

Lambda架构与Kappa架构的特性对比

Lambda架构与Kappa架构的设计选择

根据两种架构对比分析,将业务需求、技术要求、系统复杂度、开发维护成本和历史数据处理能力作为选择考虑因素。

大数据架构设计案例分析

Lambda架构任某网奥运中的大数据应用

Lambda架构在某网广告平台的应用与演进

相关文章:

系统架构设计师-第19章-大数据架构设计理论与实践-软考学习笔记

传统数据处理系统存在的问题 传统数据处理系统存在以下问题: 1. 数据孤岛问题:不同部门或系统之间的数据隔离,数据无法共享和整合。 2. 数据不一致性问题:由于数据维护分散,同一数据在不同系统或部门中可能存在不同…...

论坛搭建.

目录 一.配置软件仓库 二.安装http php miriadb 三.配置数据库 四.源码拖拽并解压 五.防火墙通过 六.浏览器安装测试 七.界面参数设置 一.配置软件仓库 1.进入仓库目录 cd /etc/yum.repos.d 2.创建仓库文件 vim local.repo 3.在 local.repo中写入:(粘贴的时候注意位…...

三种前端埋点方式

什么是埋点 埋点是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个icon点击次数、观看某个视频的时长等等。 我们可以知道埋点实际上是对特定事件或…...

html获取网络数据,列表展示 第二种

html获取网络数据&#xff0c;列表展示 第二种 js遍历json数组中的json对象 image.png || - 判断数据是否为空&#xff0c;为空就显示 - <!DOCTYPE html> <html><head><meta charset"utf-8"><title>网页列表</title><script …...

【Python 算法】信号处理通过陷波滤波器准确去除工频干扰

对于一个信号来说通常汇入工频噪声往往是因为交流电产生的电泳&#xff0c;影响了我们信号采集导致信号上存在工频干扰。 那么matlab去除工频干扰可以通过陷波滤波器实现。 通常使用scipy.signal实现信号的处理。 Scipy的信号处理模块&#xff08;scipy.signal&#xff09;来创…...

Redis(08)| 线程模型

一、redis 的线程模型 redis 内部使用文件事件处理器 file event handler&#xff0c;它是单线程的&#xff0c;所以redis才叫做单线程模型。它采用IO多路复用机制同时监听多个 socket&#xff0c;将产生事件的 socket 压入内存队列中&#xff0c;事件分派器根据 socket 上的事…...

Java14-16新特性

目录 一、Java14新特性 1、instanceof模式匹配 2、友好的空指针(NullPointerException)提示 3、record类型 二、Java15新特性 1、Sealed Classes 2、CharSequence新增方法 3、TreeMap新增方法 4、文本块 5、无需配置环境变量 三、Java16新特性 1、包装类构造方法的…...

中兴再推爆款,双2.5G网口的巡天AX3000Pro+仅需299元

10月30日消息,中兴新款路由器中兴巡天AX3000Pro将于10月31日20:00正式开售,当前可在天猫、京东及红魔商城进行预约,首发价格299元。 据了解,中兴巡天AX3000Pro是中兴智慧家庭推出的巡天系列新品,也是当前市场上唯一一款300元价位内配备双2.5G网口的路由器。 中兴巡天AX3000Pro…...

【系统架构】架构风格专题

目录 1、定义 2、通用架构风格分类 3、架构风格比较 4、示例&#xff1a;管道-过滤 VS 数据仓库&#xff09;比较因素分析 1、定义 架构风格&#xff1a;描述某一特定应用领域中系统组织方式的惯用模式&#xff0c;反映了领域中众多系统所共有的结构和语义特性&#xff0c…...

【Qt】盒子布局、网格布局、表单布局和堆栈布局

盒子布局 QBoxLayout可以在水平方向或垂直方向上排列控件&#xff0c;分别派生了QHBoxLayout、QVBoxLayout子类。 QHBoxLayout&#xff1a;水平布局&#xff0c;在水平方向上排列控件&#xff0c;即&#xff1a;左右排列。QVBoxLayout&#xff1a;垂直布局&#xff0c;在垂直…...

GO语言,半自动打怪

仅供学习参考&#xff0c;切勿用于商业用途 package mainimport ("fmt""github.com/go-vgo/robotgo""math/rand""time" )const (taskNum 7 )type Task struct {Name stringSleepTime1 intSleepTime2 intFunc func() }fu…...

【Java 进阶篇】Java登录案例详解

登录是Web应用程序中常见的功能&#xff0c;它允许用户提供凭证&#xff08;通常是用户名和密码&#xff09;以验证其身份。本文将详细介绍如何使用Java创建一个简单的登录功能&#xff0c;并解释登录的工作原理。我们将覆盖以下内容&#xff1a; 登录的基本概念创建一个简单的…...

Vue 菜单导航栏,轮播图

导航菜单栏结构和样式代码实现 一级导航栏 views/HomeView.vue <template><div><Shortcut></Shortcut><Header></Header><div class"inner"><Navigation></Navigation></div><div>我是主页&l…...

讲述为什么要学习Adobe XD以及 Adobe XD下载安装

首先 我们要了解 Adobe XD 是个什么东西 XD是Adobe公司专门开发出来面向交互、界面设计的矢量绘图工具。 然后是 他可以做什么&#xff1f; 最基本的 可以做UI界面设置 所有 手机 平板 电脑等设备的UI界面 我们都可以通过XD完成 还有就是原型设置 我们可以做各种界面图 还有…...

Netty复习:(1)Http server: hello world

一、加依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.72.Final</version></dependency>二、创建自定义的handler package cn.edu.tju.handler;import io.netty.buffer.ByteB…...

【Python 千题 —— 基础篇】加法计算

题目描述 题目描述 编写一个程序&#xff0c;接受用户输入的两个数字&#xff0c;然后计算这两个数字的和&#xff0c;并输出结果。 输入描述 输入两个数字&#xff0c;用回车隔开两个数字。 输出描述 程序将计算这两个数字的和&#xff0c;并输出结果。 示例 示例 ① …...

基于纵横交叉算法的无人机航迹规划-附代码

基于纵横交叉算法的无人机航迹规划 文章目录 基于纵横交叉算法的无人机航迹规划1.纵横交叉搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用纵横交叉算法来优化无人机航迹规划。 …...

D-Bus:数据类型

D-Bus中描述接口的属性和方法,有其自己定义的一套签名描述方式: 数据类型描述符号对应C++数据类型avector/array数组, ai表示的是vector<int32_t>bboolddouble双精度浮点数iint32_t,32位有符号整数nint16_t,16位有符号整数oobject_path对象路径quint16_t,16位无符号…...

BI零售数据分析,告别拖延症,及时掌握一线信息

在日常的零售数据分析中&#xff0c;经常会因为数据量太大&#xff0c;分析指标太多且计算组合多变而导致数据分析报表难产&#xff0c;零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展&#xff0c;智能化、可视化、自助分析的BI数据分析逐渐成熟&#xff0c;形成一套…...

[BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn

再补完这个就基本上完了. crypto RSA Variation II Schmidt-Samoa密码系统看上去很像RSA,其中Npqq, 给的eN给了d from secret import flag from Crypto.Util.number import *p getPrime(1024) q getPrime(1024)N p*p*qd inverse(N, (p-1)*(q-1)//GCD(p-1, q-1))m bytes…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术&#xff0c;通过密码学、共识机制和智能合约等核心组件&#xff0c;实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点&#xff1a;数据存储在网络中的多个节点&#xff08;计算机&#xff09;&#xff0c;而非…...