【系统架构师】-第19章-大数据架构设计理论与实践

news2024/11/19 13:44:50

四个特点

大规模(Volume)、高速度(Velocity)和多样化(Variety),价值(Value)。

五个问题

异构性(Heterogeneity)、规模(Scale)、时间性(Timeliness)、复杂性(Complexity)和隐私性(Privacy)

五个挑战

1. 数据获取问题。

2.数据结构问题。

3.数据集成问题。

4.数据分析、组织、抽取和建模等功能性挑战。

5. 如何呈现数据分析的结果,并与非技术的领域专家进行交互。

1、架构的演进

1)异步缓冲

2)读写分离

3)hadoop M/R批处理

2、大数据面临的挑战

数据复杂:结构化、半结构化数据

数据量大:

数据挖掘:

3、大数据处理架构特征:

1、鲁棒性和容错性:机器是不可靠的,允许机器宕机

2、低延迟读取和更新能力

3、横向扩展(Scalable):服务器主机扩展,而不是增强机器性能

4、通用性:多领域支持

5、延展性:需求变动

6、即席查询能力

7、最少维护能力

8、可调试性

4、Lambda架构

1、批处理层

存储数据集(HDFS)、M/R处理离线数据、直接生成 batch view

要求数据原始的、不可变、永远真实

2、加速层(流处理)

增量的数据流、生成 real-time view。有新数据后,更新r-t view。

采用Spark或Storm,结果缓存在MemSQL或Redis中

如果批处理层重新计算生成,则清空real-time view数据。最终一致性

3、服务层

整合batch View 与 real-time View数据集,形成结果集

采用 HBase或Cassandra

响应用户的查询请求,提供主数据集的计算结果的低延迟访问

4、查询视图

面向用户,由Hive创建可查询视图

5、优缺点

1.优点

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

2.缺点

(1)全场景覆盖带来的编码开销。
(2)针对具体场景重新离线训练一遍益处不大。
(3)重新部署和迁移成本很高。

6、横向比对

1、事件溯源(Event Sourcing)

(1)整个系统以事件为驱动,所有业务都由事件驱动来完成。
(2)事件是核心,系统的数据以事件为基础,事件要保存在某种存储上。
(3)业务数据只是一些由事件产生的视图,不一定要保存到数据库中。

2、CQRS(查询修改分离)

5、Kappa架构

简化了Lambda架构,移除了批处理层,以消息队列Kafka 作为数据存储及流通道

当需要进行离线分析或者再次计算的时候,则将数据湖的数据再次经
过消息队列重播一次则可

优缺点:

1、部署维护简单

2、数据存储、回溯困难

kappa+架构

将不同来源的数据通过Kafka导入到Hadoop 中,通过HDFS来存储中间
数据,再通过 spark对数据进行分析处理,最后交由上层业务进行查询

6、Lambda与Kappa架构比对

7、补充实际案例架构

案例一

hive查询视图

MemSQL 内存数据库

HBase 整合view

案例二

kafka 向HDFS存储数据,并实时推送数据给Spark 流处理

在批处理层,把转化数据表和曝光数据表导入到Hive中,用Hive Sql做好join, 将两张表聚合而成的结果表导出到MySQL, 提供给服务层

案例三

实时日志分析平台基于Kappa架构,使用统一的数据处理引擎Flink可实时处理全部数据,
并将其存储到Elastic-Search与OpenTSDB中。实时处理过程如下:

(1)日志采集,即在各应用系统部署采集组件Filebeat, 实时采集日志数据并输出到 Kafka
缓存。

(2)日志清洗与解析,即基于大数据计算集群的Flink计算框架,实时读取Kafka中的日
志数据进行清洗和解析,提取日志关键内容并转换成指标,以及对指标进行二次加工形成衍生
指标。

(3)日志存储,即将解析后的日志数据分类存储于 Elastic-Search 日志库中,各类基于日志
的指标存储于OpenTSDB指标库中,供前端组件搜索与查询。

(4)日志监控,即通过单独的告警消息队列来保持监控消息的有序管理与实时推送。

(5)日志应用,即在充分考虑日志搜索专业需求的基础上,平台支持搜索栏常用语句保存,
选择日志变量自动形成搜索表达式,以及快速按时间排序过滤、查看日志上下文等功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1525486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何高效接入 Flink: Connecter / Catalog API 核心设计与社区进展

本文整理自阿里云实时计算团队 Apache Flink Committer 和 PMC Member 任庆盛在 FFA 2023 核心技术专场(二)中的分享,内容主要分为以下四部分: Source APISink API将 Connecter 集成至 Table /SQL APICatalog API 在正式介绍这些 …

安全工程师说telnet

啥是telnet telnet 命令通常用来远程登录。 telnet 程序是基于 TELNET 协议的远程登录客户端程序。Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的 能力。在终端使用者的电…

如何快速接入Claude 3 haiku这款Claude3系列中最经济快速的模型?

3 月 4 日,被称为 OpenAI 最强竞争对手的大模型公司 Anthropic 宣布推出 Claude3 系列模型,与 Gemini 类似,模型按照大小分为三个:Claude 3 Haiku、Claude 3 Sonnet 和 Claude 3 Opus。Opus 目前在官方发布的测试成绩中全方位超越…

NeRF——基于神经辐射场的三维场景重建和理解

概述 三维重建是一种将物理世界中的实体转换为数字模型的计算机技术。其基本概念是通过对物理世界中的物体或场景进行扫描或拍摄,并使用计算机算法将其转换为三维数字模型。抽象意义上的三维模型指的是:形状和外观的组合,并且可以渲染成不同…

ClickHouse中的设置的分类

ClickHouse中的各种设置 ClickHouse中的设置有几百个,下面对这些设置做了一个简单的分类。

【STC8A8K64D4开发板】第2-16讲:可编程计数器阵列PCA

第2-16讲:可编程计数器阵列PCA 学习目的掌握STC8A8K64D4系列PCA可编程计数器阵列的原理。掌握4个PCA外设相关寄存器配置及程序设计。 PCA概述 PCA全称是可编程计数器阵列(Programable Counter Array),其中P表示可以编程控制、C表…

iTOP-3A5000主板龙芯自主指令系统 (LoongArch)的LA464微结构

性能强 采用全国产龙芯3A5000处理器,基于龙芯自主指令系统 (LoongArch)的LA464微结构,并进一步提升频率,降低功耗,优化性能。 桥片 采用龙芯 7A2000,支持PCIE 3.0、USB 3.0和 SATA 3.0.显示接口2 路、HDMI 和1路 VGA&…

【PyTorch】成功解决TypeError: iteration over a 0-d tensor

【PyTorch】成功解决TypeError: iteration over a 0-d tensor 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您…

【CSS】Vue2使用TailwindCSS方法及相关问题

一.安装 1.npm安装TailwindCSS npm install tailwindcssnpm:tailwindcss/postcss7-compat tailwindcss/postcss7-compat postcss^7 autoprefixer^9 2.创建配置文件 npx tailwindcss init 3.创建postcss.config.js文件 // postcss.config.js module.exports {plugins: {t…

网络统一监控运维管理解决方案

网络统一监控运维管理解决方案 1. 构建完善的网络运维体系:通过组织、流程、制度的完善、支撑手段的建设,构建低成本高效率的IT运营体系,推动IT运营工作自动化、智能化、一体化化发展。 2. 构建网络一体化监控能力:构建从设备、数…

C++ 万物起源:类与对象(一)

目录 一、C与C语言的区别 1.1类的引入 二、C类 2.1类的概念与定义 2.2类的访问限定符与封装 2.2.1C中struct和class的区别 2.3封装 2.4类的作用域与实例化 三、类对象模型 3.1类对象的存储模式 3.2结构体内存对齐规则 一、C与C语言的区别 C语言是面向过程的&#xf…

刚刚!3.15晚会点名AI换脸诈骗,曝光主板机黑产,2000元成本可20部手机同时发布

1991 年 3 月 15 日,「消费者之友专题晚会」登上央视的大荧屏,从那一年开始,「3.15 晚会」就成为了像春节联欢晚会一样的固定节目,同样聚集了亿万国人的关注。多年来,围绕老百姓衣食住行方方面面,无数家企业…

AWTK slider_circle 控件发布

slider_circle 控件。 主要特色: 支持正向和反向支持设置滑块的半径支持背景线宽和颜色支持前景线宽和颜色支持设置是否显示值的文本支持设置起始角度和结束角度支持设置格式化值的格式字符串支持使用图片填充背景和前景 界面效果: 注意: …

Android FrameWork 学习路线

目录 前言 学习路线: 1.基础知识 2、AOSP 源码学习 3. AOSP 源码编译系统 4. Hal与硬件服务 5.基础组件 6. Binder 7. 系统启动过程分析 8. 应用层框架​编辑 9. 显示系统 10. Android 输入系统 11. 系统应用 前言 Android Framework 涉及的行业相当广…

Spring Boot Actuator介绍

大家在yaml中经常见到的这个配置 management: endpoints: web: exposure: #该配置线上需要去掉,会有未授权访问漏洞 include: "*" 他就是Actuator! 一、什么是 Actuator Spring Boot Actuator 模块提供了生产级别…

享元模式实战运用

前言 享元模式,将程序中可能反复创建且种类固定的对象缓存起来,以便共享。 通常使用一个享元工厂来创建和缓存享元对象,保证享元类的一个实例只能被创建一次,客户端获取享元对象时,先查看对象是否已经创建&#xff0…

各地省级网信部门受理数据出境安全评估申报、个人信息出境标准合同备案工作的联系方式

各地省级网信部门受理数据出境安全评估申报、个人信息出境标准合同备案工作的联系方式 为了指导和帮助数据处理者规范有序申报数据出境安全评估、备案个人信息出境标准合同,国家网信办将各地省级网信部门接收申报材料、备案材料的办公地址和联系电话公布如下&#x…

基于Linux内核的socket编程(TCP)的C语言示例

原文地址&#xff1a;https://www.geeksforgeeks.org/socket-programming-cc/ 服务端&#xff1a; #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <unistd.h>#…

BI让数据分析不在困难,分解企业数据分析流程

一、数据培养 数据分析最关键的是什么&#xff1f;其实从名字上就可以看出来&#xff0c;数据是一切的关键&#xff0c;没有数据的话数据分析从何谈起呢。但数据的积累不是一天两天就能成功的&#xff0c;企业的一定要有培养数据的意识&#xff0c;在业务活动中沉淀数据&#…

【目标检测】2. RCNN

接上篇 【目标检测】1. 目标检测概述_目标检测包括预测目标的位置吗?-CSDN博客 一、前言 CVPR201 4经典paper:《 Rich feature hierarchies for accurate object detection and semantic segmentation》&#xff0c;https://arxiv.org/abs/1311.2524, 这篇论文的算法思想被称…