免费注册

低代码系统快速开发定制

会用表格工具,就能用低代码开发系统
大数据处理系统架构简介

大数据处理系统架构简介

作者: 网友投稿
阅读数:313
更新时间:2024-02-23 12:34:50
浏览次数:2746次
大数据处理系统架构简介
div class="richTextContainer">
大数据技术已经逐步应用到大小各类企业和组织,那么大数据处理系统架构是怎样的,大数据技术的完整系统架构是怎么样的?本篇文章,我们介绍下企业大数据处理平台的架构
 

一、整体框架

数据产生 ——> 数据传输 ——> 数据存储,去到不同的场景(业务数据、实时数据、离线数据) ——> 进行数据分析。
 

二、数据产生

通过数据埋点SDK(可以理解为一个能够捕获用户数据的工具,可以是公司自研,也可以向专门的公司进行购买),研发开发对应程序,将用户产生的各种行为记录下来,并上报上来。这里可以研究的部分很多。比如上报逻辑,上传是网络环境是否会有问题。一些脏数据可能会在此产生。
 

三、数据传输 

http协议 到达服务器
 

四、数据存储过程

tips:大部分你看到的大数据组件都是在这块产生的。
数据通过网络协议传输到对应的网关,写入对应数据库。
 

1. 什么是databus。

在大数据系统架构中,数据系统通常分为两种类型,一种是真实数据系统,作为基础数据库,存储用户产生的写操作;第二种是衍生数据库或索引,提供读取和其他复杂查询操作。后者通常衍生自主数据存储,会对其中的数据做转换,有时还要包括复杂的业务逻辑处理(数据分析师用sql干这活,你懂的)。衍生数据库(或缓存)也来自主数据存储,当主数据存储发生变化,衍生数据库(或缓存)中的数据就需要刷新,或是转为无效。
这样架构自然而然的一个问题就是如何保障基础数据库和其它数据存储方的数据一致性。一个想法是双写,在有数据进来的时候就同时更新基础数据库和衍生数据库(或缓存),但这种方式如果没有很强的协议来保证,就还是会有一致性问题,比如说主数据库写入成功但是衍生数据库(或缓存)写入失败。另外的一个方案就是只写基础数据库,其它衍生数据库(缓存)通过监听基础数据库的变化来进行数据变更,这个方案要求能有一个工具能监听基础数据库的变更并且能够及时的通知衍生数据库(缓存)具体的变化,而Databus就是这样的一个系统。
 
Databus是一个实时的低延时数据抓取系统。它将数据库作为唯一真实数据来源,并将变更从事务或提交日志中提取出来,然后通知相关的衍生数据库或缓存。
Databus传输层端到端的延迟是微秒级别的,这意味着每台服务器每秒可以处理数千次数据吞吐变更事件,同时还支持无限回溯能力和丰富的变更订阅功能,目前从实践中来看,单个DB写入QPS达到1.5k就要进行拆库,而到达2k就会出现比较明显的主从延迟,而relay虽然要串行解析单个库的binlog,但是也可以扛到2.2k。下面的图是大概的结构:
 
 
 
上图展示Search Index、Read Replicas系统是Databus的消费者。当Primary DB发生数据变更的时候,连接其上的中继系统会将数据拉取到中继上去。嵌入在Search Index或缓存中的Databus消费者客户端就会从中继拉取数据并更新缓存或数据库。
DataBus提供以下功能:
  • 来源独立:Databus提供多种数据来源的变更抓取,包括mysql和oracle。oracle的适配器在开源版本中有提供,mysql的将在后面提供。

  • 可扩展和高度可用:Databus能扩展到支持数千消费者和事务数据来源,并保持高度可用性。

  • 事务按序提交:Databus能保持来源数据库中的事务完整性,并按照事务分组和来源的提交顺寻交付变更事件。

  • 低延迟、支持多种订阅机制:数据源变更完成后,Databus能在微秒级内将事务提交给消费者。同时,消费者使用Databus中的服务器端过滤功能,可以只获取自己需要的特定数据。

  • 无限回溯:这是Databus最具创新性的组件之一,对消费者支持无限回溯能力。当消费者需要产生数据的完整拷贝时(比如新的搜索索引),它不会对主OLTP数据库产生任何额外负担,就可以达成目的。当消费者的数据大大落后于来源数据库时,也可以使用该功能。

Databus系统可对接多种数据源和数据目的地,将数据源的日志同步到数据目的地。常用的数据源有:Kafka、本地文件、ScribeClient等,常用的数据目的地有:Kafka、HDFS等。
 

2.什么是kafka?

Kafka可以理解为一个消息队列,用来缓存数据,以供其他订阅过数据的消费者拿取数据。
在大数据体系中,数据最终会流向多个不同的地方,一般分为离线数据和实时数据两种类型,可以是es、flink、hive等地方。(后面会一一介绍这些)
要了解kafka是如何将数据给到下游的消费者,我们需要先了解四个概念。
Topic
Kafka将消息分门别类,每一类的消息称之为一个主题(Topic)、通常会按照公司内部的业务来分。
Producer
发布消息的对象称之为主题生产者(Kafka topic producer),也就是上游数据的来源,例如databus、flume(日志采集组件)或者其他数据库等等
Consumer
订阅消息并处理发布的消息的对象称之为主题消费者(consumers),下游数据消费者,可以是es、flink、hive等等。
Broker
已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。
 
主题和日志 TopicLog
让我们更深入的了解Kafka中的Topic。
Topic是发布的消息的类别名,一个topic可以有零个,一个或多个消费者订阅该主题的消息。
对于每个topic,Kafka集群都会维护一个分区log,就像下图中所示:
 
每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。分区中的消息都被分了一个序列号,称之为偏移量(offset),在每个分区中此偏移量都是唯一的。
Kafka集群保持所有的消息,直到它们过期(无论消息是否被消费)。实际上消费者所持有的仅有的元数据就是这个offset(偏移量),也就是说offset由消费者来控制:正常情况当消费者消费消息的时候,偏移量也线性的的增加。但是实际偏移量由消费者控制,消费者可以将偏移量重置为更早的位置,重新读取消息。可以看到这种设计对消费者来说操作自如,一个消费者的操作不会影响其它消费者对此log的处理。
 
再说说分区。Kafka中采用分区的设计有几个目的。一是可以处理更多的消息,不受单台服务器的限制。Topic拥有多个分区意味着它可以不受限的处理更多的数据。第二,分区可以作为并行处理的单元。
 

3.什么是hadoop,hadoop和常常听说的hive和spark又有什么关系?

上面说到数据通过kafka分发到不同的消费者,其中消费者可以是hive,那hive是什么呢?理解hive前要知道hadoop是什么。
Hadoop是一个大数据框架系统,hadoop的核心功能只有两个,存储数据和计算数据。
存储数据,采用HDFS系统,即分布式文件系统,简单的理解成,在不同的机器上使用文件存储数据,能够解决多台机器上协调读和写的功能。
计算数据,采用MapReduce,即分布式计算架构,简单的理解成,解决当数据存储在不同机器上时,怎么能够把复杂数据计算逻辑算出来。
Hadoop使用的是java语言,因此如果需要进行数据计算,需要使用java来写算子,但是这样的门槛非常高,因此发明了新的方法,也就是hive,hive是基于Hadoop的一个数据仓库工具,将结构化的数据文件映射为一张表,并提供类SQL查询功能。能够让大部分人使用sql来查询数据,降低了使用hadoop的门槛。也是数据仓库的雏形。
 
Spark可以理解成MapReduce的2.0升级版,比MapReduce计算更快,因此很多公司也开始逐步使用spark来计算数据。
 
数据分析师,在hive上使用sql进行清洗和取数,并产生出报表,进行数据分析。
 
最后,本文简要介绍了大数据系统架构。速优云低代码平台提供原生数据治理、数据可视化分析、数据大屏创建等功能,并提供集成多云通用大数据架构解决方案,如有需要,欢迎联系。

发表评论

评论列表

暂时没有评论,有什么想聊的?

低代码系统快速开发定制

低代码系统快速开发定制

会用表格工具,就能用低代码开发系统

热推产品-园区经济监测

区域经济运行与监测平台

企业分析发展监测,具备企业图谱、图像分析、指标健康和全要素数据库四大功能



大数据处理系统架构简介最新资讯

分享关于大数据最新动态,数据分析模板分享,如何使用低代码构建大数据管理平台和低代码平台开发软件

Excel开发工具:如何快速上手?

**Excel开发工具:如何快速上手?** **1. 概述** * Excel开发工具简介:简要介绍Excel开发工具(如VBA、Add-ins等)的概念和用途,强调其在提高工作效率、增强数据分析能力

...
2024-04-20 00:10:04
Excel开发工具:如何提高效率?

**Excel开发工具:如何提高效率?** **1. 概述 * Excel开发工具介绍:我们将介绍一些可以提高Excel使用效率的工具和插件,如Excel的宏录制功能、数据透视表工具等。 * 为什

...
2024-04-20 00:10:29
Excel规划求解工具的正确使用方法

**Excel规划求解工具的正确使用方法** **一、概述** 1. Excel规划求解工具的作用: Excel的规划求解工具是一种强大的数学建模工具,可以帮助用户解决复杂的优化问题。它能

...
2024-04-20 00:10:10

大数据处理系统架构简介相关资讯

与大数据处理系统架构简介相关资讯,您可以对低代码系统快速开发定制了解更多

速优云

让监测“简单一点”

大数据处理系统架构简介相关解决方案

大数据处理系统架构简介推荐产品列表

数字化咨询低代码系统快速开发定制
免费使用
×

欢迎访问速优云官网!

咨询电话:17190186096

扫码加顾问微信 -->

速优云PerfCloud官方微信