夜晚10大禁用B站免费_欧美国产日韩久久MV_深夜福利小视频在线观看_人妻精品久久无码区 国产在线高清精品二区_亚洲日本一区二区一本一道_国产在线视频主播区_AV无码精品一区二区三区

免費(fèi)注冊(cè)
大數(shù)據(jù)處理系統(tǒng)架構(gòu)簡(jiǎn)介

大數(shù)據(jù)處理系統(tǒng)架構(gòu)簡(jiǎn)介

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

一、整體框架

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

二、數(shù)據(jù)產(chǎn)生

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

三、數(shù)據(jù)傳輸 

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

四、數(shù)據(jù)存儲(chǔ)過程

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

1. 什么是databus。

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

  • 可擴(kuò)展和高度可用:Databus能擴(kuò)展到支持?jǐn)?shù)千消費(fèi)者和事務(wù)數(shù)據(jù)來源,并保持高度可用性。

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

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

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

Databus系統(tǒng)可對(duì)接多種數(shù)據(jù)源和數(shù)據(jù)目的地,將數(shù)據(jù)源的日志同步到數(shù)據(jù)目的地。常用的數(shù)據(jù)源有:Kafka、本地文件、ScribeClient等,常用的數(shù)據(jù)目的地有:Kafka、HDFS等。
 

2.什么是kafka?

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

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

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

發(fā)表評(píng)論

評(píng)論列表

暫時(shí)沒有評(píng)論,有什么想聊的?

低代碼數(shù)據(jù)平臺(tái)BI大屏定制

低代碼數(shù)據(jù)平臺(tái)BI大屏定制

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



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

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

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

大數(shù)據(jù)處理系統(tǒng)架構(gòu)簡(jiǎn)介最新資訊

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

大模型 rlhf 是否能解決當(dāng)前生成模型的對(duì)齊問題?

概述:大模型 rlhf 是否能解決當(dāng)前生成模型的對(duì)齊問題? 近年來,隨著人工智能技術(shù)的發(fā)展,生成模型逐漸成為推動(dòng)自然語(yǔ)言處理(NLP)領(lǐng)域的核心力量。然而,這些模型在實(shí)際

...
2025-04-15 17:49:31
大模型prompt設(shè)計(jì)是否能顯著提升生成內(nèi)容的質(zhì)量?

概述:大模型prompt設(shè)計(jì)是否能顯著提升生成內(nèi)容的質(zhì)量? 近年來,隨著人工智能技術(shù)的發(fā)展,大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型(即大模型)逐漸成為自然語(yǔ)言處理領(lǐng)域的核心工具之一。這

...
2025-04-15 17:49:31
大模型本地搭建真的可行嗎?

概述:大模型本地搭建真的可行嗎? 隨著人工智能技術(shù)的快速發(fā)展,大模型的應(yīng)用場(chǎng)景日益廣泛。然而,許多企業(yè)和開發(fā)者在面對(duì)大模型時(shí),往往面臨資源限制和成本壓力的問題。

...
2025-04-15 17:49:31

大數(shù)據(jù)處理系統(tǒng)架構(gòu)簡(jiǎn)介相關(guān)資訊

與大數(shù)據(jù)處理系統(tǒng)架構(gòu)簡(jiǎn)介相關(guān)資訊,您可以對(duì)低代碼數(shù)據(jù)平臺(tái)BI大屏定制了解更多

×
銷售: 17190186096
售前: 15050465281
合作伙伴,請(qǐng)點(diǎn)擊

微信聊 -->

速優(yōu)AIPerfCloud官方微信