免費注冊

大數據處理系統架構簡(jiǎn)介

作者: 網(wǎng)友投稿
閱讀數:313
更新時(shí)間:2024-02-23 20:34:50
大數據處理系統架構簡(jiǎn)介
div class="richTextContainer">
大數據技術(shù)已經(jīng)逐步應用到大小各類(lèi)企業(yè)和組織,那么大數據處理系統架構是怎樣的,大數據技術(shù)的完整系統架構是怎么樣的?本篇文章,我們介紹下企業(yè)大數據處理平臺的架構
 

一、整體框架

數據產(chǎn)生 ——> 數據傳輸 ——> 數據存儲,去到不同的場(chǎng)景(業(yè)務(wù)數據、實(shí)時(shí)數據、離線(xiàn)數據) ——> 進(jìn)行數據分析。
 

二、數據產(chǎn)生

通過(guò)數據埋點(diǎn)SDK(可以理解為一個(gè)能夠捕獲用戶(hù)數據的工具,可以是公司自研,也可以向專(zhuān)門(mén)的公司進(jìn)行購買(mǎi)),研發(fā)開(kāi)發(fā)對應程序,將用戶(hù)產(chǎn)生的各種行為記錄下來(lái),并上報上來(lái)。這里可以研究的部分很多。比如上報邏輯,上傳是網(wǎng)絡(luò )環(huán)境是否會(huì )有問(wèn)題。一些臟數據可能會(huì )在此產(chǎn)生。
 

三、數據傳輸 

http協(xié)議 到達服務(wù)器
 

四、數據存儲過(guò)程

tips:大部分你看到的大數據組件都是在這塊產(chǎn)生的。
數據通過(guò)網(wǎng)絡(luò )協(xié)議傳輸到對應的網(wǎng)關(guān),寫(xiě)入對應數據庫。
 

1. 什么是databus。

在大數據系統架構中,數據系統通常分為兩種類(lèi)型,一種是真實(shí)數據系統,作為基礎數據庫,存儲用戶(hù)產(chǎn)生的寫(xiě)操作;第二種是衍生數據庫或索引,提供讀取和其他復雜查詢(xún)操作。后者通常衍生自主數據存儲,會(huì )對其中的數據做轉換,有時(shí)還要包括復雜的業(yè)務(wù)邏輯處理(數據分析師用sql干這活,你懂的)。衍生數據庫(或緩存)也來(lái)自主數據存儲,當主數據存儲發(fā)生變化,衍生數據庫(或緩存)中的數據就需要刷新,或是轉為無(wú)效。
這樣架構自然而然的一個(gè)問(wèn)題就是如何保障基礎數據庫和其它數據存儲方的數據一致性。一個(gè)想法是雙寫(xiě),在有數據進(jìn)來(lái)的時(shí)候就同時(shí)更新基礎數據庫和衍生數據庫(或緩存),但這種方式如果沒(méi)有很強的協(xié)議來(lái)保證,就還是會(huì )有一致性問(wèn)題,比如說(shuō)主數據庫寫(xiě)入成功但是衍生數據庫(或緩存)寫(xiě)入失敗。另外的一個(gè)方案就是只寫(xiě)基礎數據庫,其它衍生數據庫(緩存)通過(guò)監聽(tīng)基礎數據庫的變化來(lái)進(jìn)行數據變更,這個(gè)方案要求能有一個(gè)工具能監聽(tīng)基礎數據庫的變更并且能夠及時(shí)的通知衍生數據庫(緩存)具體的變化,而Databus就是這樣的一個(gè)系統。
 
Databus是一個(gè)實(shí)時(shí)的低延時(shí)數據抓取系統。它將數據庫作為唯一真實(shí)數據來(lái)源,并將變更從事務(wù)或提交日志中提取出來(lái),然后通知相關(guān)的衍生數據庫或緩存。
Databus傳輸層端到端的延遲是微秒級別的,這意味著(zhù)每臺服務(wù)器每秒可以處理數千次數據吞吐變更事件,同時(shí)還支持無(wú)限回溯能力和豐富的變更訂閱功能,目前從實(shí)踐中來(lái)看,單個(gè)DB寫(xiě)入QPS達到1.5k就要進(jìn)行拆庫,而到達2k就會(huì )出現比較明顯的主從延遲,而relay雖然要串行解析單個(gè)庫的binlog,但是也可以扛到2.2k。下面的圖是大概的結構:
 
 
 
上圖展示Search Index、Read Replicas系統是Databus的消費者。當Primary DB發(fā)生數據變更的時(shí)候,連接其上的中繼系統會(huì )將數據拉取到中繼上去。嵌入在Search Index或緩存中的Databus消費者客戶(hù)端就會(huì )從中繼拉取數據并更新緩存或數據庫。
DataBus提供以下功能:
  • 來(lái)源獨立:Databus提供多種數據來(lái)源的變更抓取,包括mysql和oracle。oracle的適配器在開(kāi)源版本中有提供,mysql的將在后面提供。

  • 可擴展和高度可用:Databus能擴展到支持數千消費者和事務(wù)數據來(lái)源,并保持高度可用性。

  • 事務(wù)按序提交:Databus能保持來(lái)源數據庫中的事務(wù)完整性,并按照事務(wù)分組和來(lái)源的提交順尋交付變更事件。

  • 低延遲、支持多種訂閱機制:數據源變更完成后,Databus能在微秒級內將事務(wù)提交給消費者。同時(shí),消費者使用Databus中的服務(wù)器端過(guò)濾功能,可以只獲取自己需要的特定數據。

  • 無(wú)限回溯:這是Databus最具創(chuàng )新性的組件之一,對消費者支持無(wú)限回溯能力。當消費者需要產(chǎn)生數據的完整拷貝時(shí)(比如新的搜索索引),它不會(huì )對主OLTP數據庫產(chǎn)生任何額外負擔,就可以達成目的。當消費者的數據大大落后于來(lái)源數據庫時(shí),也可以使用該功能。

Databus系統可對接多種數據源和數據目的地,將數據源的日志同步到數據目的地。常用的數據源有:Kafka、本地文件、ScribeClient等,常用的數據目的地有:Kafka、HDFS等。
 

2.什么是kafka?

Kafka可以理解為一個(gè)消息隊列,用來(lái)緩存數據,以供其他訂閱過(guò)數據的消費者拿取數據。
在大數據體系中,數據最終會(huì )流向多個(gè)不同的地方,一般分為離線(xiàn)數據和實(shí)時(shí)數據兩種類(lèi)型,可以是es、flink、hive等地方。(后面會(huì )一一介紹這些)
要了解kafka是如何將數據給到下游的消費者,我們需要先了解四個(gè)概念。
Topic
Kafka將消息分門(mén)別類(lèi),每一類(lèi)的消息稱(chēng)之為一個(gè)主題(Topic)、通常會(huì )按照公司內部的業(yè)務(wù)來(lái)分。
Producer
發(fā)布消息的對象稱(chēng)之為主題生產(chǎn)者(Kafka topic producer),也就是上游數據的來(lái)源,例如databus、flume(日志采集組件)或者其他數據庫等等
Consumer
訂閱消息并處理發(fā)布的消息的對象稱(chēng)之為主題消費者(consumers),下游數據消費者,可以是es、flink、hive等等。
Broker
已發(fā)布的消息保存在一組服務(wù)器中,稱(chēng)之為Kafka集群。集群中的每一個(gè)服務(wù)器都是一個(gè)代理(Broker)。 消費者可以訂閱一個(gè)或多個(gè)主題(topic),并從Broker拉數據,從而消費這些已發(fā)布的消息。
 
主題和日志 TopicLog
讓我們更深入的了解Kafka中的Topic。
Topic是發(fā)布的消息的類(lèi)別名,一個(gè)topic可以有零個(gè),一個(gè)或多個(gè)消費者訂閱該主題的消息。
對于每個(gè)topic,Kafka集群都會(huì )維護一個(gè)分區log,就像下圖中所示:
 
每一個(gè)分區都是一個(gè)順序的、不可變的消息隊列, 并且可以持續的添加。分區中的消息都被分了一個(gè)序列號,稱(chēng)之為偏移量(offset),在每個(gè)分區中此偏移量都是唯一的。
Kafka集群保持所有的消息,直到它們過(guò)期(無(wú)論消息是否被消費)。實(shí)際上消費者所持有的僅有的元數據就是這個(gè)offset(偏移量),也就是說(shuō)offset由消費者來(lái)控制:正常情況當消費者消費消息的時(shí)候,偏移量也線(xiàn)性的的增加。但是實(shí)際偏移量由消費者控制,消費者可以將偏移量重置為更早的位置,重新讀取消息??梢钥吹竭@種設計對消費者來(lái)說(shuō)操作自如,一個(gè)消費者的操作不會(huì )影響其它消費者對此log的處理。
 
再說(shuō)說(shuō)分區。Kafka中采用分區的設計有幾個(gè)目的。一是可以處理更多的消息,不受單臺服務(wù)器的限制。Topic擁有多個(gè)分區意味著(zhù)它可以不受限的處理更多的數據。第二,分區可以作為并行處理的單元。
 

3.什么是hadoop,hadoop和常常聽(tīng)說(shuō)的hive和spark又有什么關(guān)系?

上面說(shuō)到數據通過(guò)kafka分發(fā)到不同的消費者,其中消費者可以是hive,那hive是什么呢?理解hive前要知道hadoop是什么。
Hadoop是一個(gè)大數據框架系統,hadoop的核心功能只有兩個(gè),存儲數據和計算數據。
存儲數據,采用HDFS系統,即分布式文件系統,簡(jiǎn)單的理解成,在不同的機器上使用文件存儲數據,能夠解決多臺機器上協(xié)調讀和寫(xiě)的功能。
計算數據,采用MapReduce,即分布式計算架構,簡(jiǎn)單的理解成,解決當數據存儲在不同機器上時(shí),怎么能夠把復雜數據計算邏輯算出來(lái)。
Hadoop使用的是java語(yǔ)言,因此如果需要進(jìn)行數據計算,需要使用java來(lái)寫(xiě)算子,但是這樣的門(mén)檻非常高,因此發(fā)明了新的方法,也就是hive,hive是基于Hadoop的一個(gè)數據倉庫工具,將結構化的數據文件映射為一張表,并提供類(lèi)SQL查詢(xún)功能。能夠讓大部分人使用sql來(lái)查詢(xún)數據,降低了使用hadoop的門(mén)檻。也是數據倉庫的雛形。
 
Spark可以理解成MapReduce的2.0升級版,比MapReduce計算更快,因此很多公司也開(kāi)始逐步使用spark來(lái)計算數據。
 
數據分析師,在hive上使用sql進(jìn)行清洗和取數,并產(chǎn)生出報表,進(jìn)行數據分析。
 
最后,本文簡(jiǎn)要介紹了大數據系統架構。速優(yōu)云低代碼平臺提供原生數據治理、數據可視化分析、數據大屏創(chuàng )建等功能,并提供集成多云通用大數據架構解決方案,如有需要,歡迎聯(lián)系。

發(fā)表評論

評論列表

暫時(shí)沒(méi)有評論,有什么想聊的?

低代碼數據平臺BI大屏定制

低代碼數據平臺BI大屏定制

釋放數據潛能,智慧展現新高度。定制低代碼數據平臺,打造個(gè)性化BI大屏,助您實(shí)現數據驅動(dòng)決策。



熱推產(chǎn)品-全域低代碼平臺

會(huì )Excel就能開(kāi)發(fā)軟件

全域低代碼平臺,可視化拖拉拽/導入Excel,就可以開(kāi)發(fā)小程序、管理系統、物聯(lián)網(wǎng)、ERP、CRM等應用

大數據處理系統架構簡(jiǎn)介最新資訊

分享關(guān)于大數據最新動(dòng)態(tài),數據分析模板分享,如何使用低代碼構建大數據管理平臺和低代碼平臺開(kāi)發(fā)軟件

物聯(lián)網(wǎng)開(kāi)發(fā)模塊報價(jià)

1、#如何評估物聯(lián)網(wǎng)開(kāi)發(fā)模塊報價(jià) 如何評估物聯(lián)網(wǎng)開(kāi)發(fā)模塊報價(jià) 在物聯(lián)網(wǎng)開(kāi)發(fā)模塊報價(jià)的評估過(guò)程中,我們需要考慮多個(gè)因素,以確保獲得最符合需求的方案。首先,了解物聯(lián)網(wǎng)開(kāi)

...
2024-07-24 17:26:43
做物聯(lián)網(wǎng)app的公司

1、#物聯(lián)網(wǎng)應用開(kāi)發(fā)公司的背景和歷史 物聯(lián)網(wǎng)應用開(kāi)發(fā)公司是隨著(zhù)物聯(lián)網(wǎng)技術(shù)的興起而出現的一類(lèi)科技企業(yè)。自2010年代初以來(lái),隨著(zhù)云計算、大數據和人工智能等技術(shù)的快速發(fā)展

...
2024-07-24 17:26:43
iot物聯(lián)網(wǎng)企業(yè)

1、#IoT物聯(lián)網(wǎng)在企業(yè)的應用場(chǎng)景和優(yōu)勢 IoT物聯(lián)網(wǎng)解決方案在企業(yè)的應用場(chǎng)景和優(yōu)勢 隨著(zhù)科技的飛速發(fā)展,物聯(lián)網(wǎng)(IoT)已經(jīng)成為當今企業(yè)不可或缺的一部分。IoT物聯(lián)網(wǎng)解決方案為

...
2024-07-24 17:26:43

大數據處理系統架構簡(jiǎn)介相關(guān)資訊

與大數據處理系統架構簡(jiǎn)介相關(guān)資訊,您可以對低代碼數據平臺BI大屏定制了解更多

速優(yōu)云

讓監測“簡(jiǎn)單一點(diǎn)”

×

?? 微信聊 -->

銷(xiāo)售溝通:17190186096(微信同號)

售前電話(huà):15050465281

微信聊 -->

速優(yōu)物聯(lián)PerfCloud官方微信
精品国产欧美SV在线观看|亚洲永久精品线看|女同性另类一区二区三区视频|性做久久久久久久|亚洲中文字幕无码天然素人在线