溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行大數(shù)據(jù)平臺(tái)架構(gòu)的設(shè)計(jì)

發(fā)布時(shí)間:2021-12-27 17:11:59 來(lái)源:億速云 閱讀:129 作者:柒染 欄目:互聯(lián)網(wǎng)科技

本篇文章為大家展示了如何進(jìn)行大數(shù)據(jù)平臺(tái)架構(gòu)的設(shè)計(jì),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

  關(guān)于大數(shù)據(jù)平臺(tái)架構(gòu)的設(shè)計(jì)探究。麥肯錫全球研究所給出的定義是:一種規(guī)模大到在獲取、存儲(chǔ)、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫(kù)軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價(jià)值密度低四大特征。

  如果缺乏有效的數(shù)據(jù)整體架構(gòu)設(shè)計(jì)或者部分能力缺失,會(huì)導(dǎo)致業(yè)務(wù)層難以直接利用大數(shù)據(jù)大數(shù)據(jù),大數(shù)據(jù)和業(yè)務(wù)產(chǎn)生了巨大的鴻溝,這道鴻溝的出現(xiàn)導(dǎo)致企業(yè)在使用大數(shù)據(jù)的過(guò)程中出現(xiàn)數(shù)據(jù)不可知、需求難實(shí)現(xiàn)、數(shù)據(jù)難共享等一系列問(wèn)題,本文介紹了一些數(shù)據(jù)平臺(tái)設(shè)計(jì)思路來(lái)幫助業(yè)務(wù)減少數(shù)據(jù)開(kāi)發(fā)中的痛點(diǎn)和難點(diǎn)。

  近年來(lái),隨著IT技術(shù)與大數(shù)據(jù)、機(jī)器學(xué)習(xí)、算法方向的不斷發(fā)展,越來(lái)越多的企業(yè)都意識(shí)到了數(shù)據(jù)存在的價(jià)值,將數(shù)據(jù)作為自身寶貴的資產(chǎn)進(jìn)行管理,利用大數(shù)據(jù)和機(jī)器學(xué)習(xí)能力去挖掘、識(shí)別、利用數(shù)據(jù)資產(chǎn)。如果缺乏有效的數(shù)據(jù)整體架構(gòu)設(shè)計(jì)或者部分能力缺失,會(huì)導(dǎo)致業(yè)務(wù)層難以直接利用大數(shù)據(jù)大數(shù)據(jù),大數(shù)據(jù)和業(yè)務(wù)產(chǎn)生了巨大的鴻溝,這道鴻溝的出現(xiàn)導(dǎo)致企業(yè)在使用大數(shù)據(jù)的過(guò)程中出現(xiàn)數(shù)據(jù)不可知、需求難實(shí)現(xiàn)、數(shù)據(jù)難共享等一系列問(wèn)題,本文介紹了一些數(shù)據(jù)平臺(tái)設(shè)計(jì)思路來(lái)幫助業(yè)務(wù)減少數(shù)據(jù)開(kāi)發(fā)中的痛點(diǎn)和難點(diǎn)。

  通過(guò)各種數(shù)據(jù)平臺(tái)和組件將這些大數(shù)據(jù)組件結(jié)合起來(lái)打造一套高效、易用的數(shù)據(jù)平臺(tái)來(lái)提高業(yè)務(wù)系統(tǒng)效能,讓業(yè)務(wù)開(kāi)發(fā)不在畏懼復(fù)雜的數(shù)據(jù)開(kāi)發(fā)組件,無(wú)需關(guān)注底層實(shí)現(xiàn),只需要會(huì)使用SQL就可以完成一站式開(kāi)發(fā),完成數(shù)據(jù)回流,讓大數(shù)據(jù)不再是數(shù)據(jù)工程師才有的技能。

  一、大數(shù)據(jù)技術(shù)棧

  大數(shù)據(jù)整體流程涉及很多模塊,每一個(gè)模塊都比較復(fù)雜,下圖列出這些模塊和組件以及他們的功能特性,后續(xù)會(huì)有專題去詳細(xì)介紹相關(guān)模塊領(lǐng)域知識(shí),例如數(shù)據(jù)采集、數(shù)據(jù)傳輸、實(shí)時(shí)計(jì)算、離線計(jì)算、大數(shù)據(jù)儲(chǔ)存等相關(guān)模塊。

  大數(shù)據(jù)平臺(tái)架構(gòu)的設(shè)計(jì)探究_大數(shù)據(jù)視頻_數(shù)據(jù)分析課程_數(shù)據(jù)結(jié)構(gòu)視頻_課課家

  二、lambda架構(gòu)和kappa架構(gòu)

  目前基本上所有的大數(shù)據(jù)架構(gòu)都是基于lambda和kappa架構(gòu),不同公司在這兩個(gè)架構(gòu)模式上設(shè)計(jì)出符合該公司的數(shù)據(jù)體系架構(gòu)。lambda架構(gòu)使開(kāi)發(fā)人員能夠構(gòu)建大規(guī)模分布式數(shù)據(jù)處理系統(tǒng)。它具有很好的靈活性和可擴(kuò)展性,也對(duì)硬件故障和人為失誤有很好的容錯(cuò)性,關(guān)于lambda架構(gòu)可以在網(wǎng)上搜到很多相關(guān)文章。而kappa架構(gòu)解決了lambda架構(gòu)存在的兩套數(shù)據(jù)加工體系,從而帶來(lái)的各種成本問(wèn)題,這也是目前流批一體化研究方向,很多企業(yè)已經(jīng)開(kāi)始使用這種更為先進(jìn)的架構(gòu)。

  Lambda架構(gòu)

  Kappa架構(gòu)

  三、kappa架構(gòu)和lambda架構(gòu)下的大數(shù)據(jù)架構(gòu)

  目前各大公司基本上都是使用kappa架構(gòu)或者lambda架構(gòu)模式,這兩種模式下大數(shù)據(jù)整體架構(gòu)在早期發(fā)展階段可能是下面這樣的:

  四、數(shù)據(jù)端到端痛點(diǎn)

  雖然上述架構(gòu)看起來(lái)將多種大數(shù)據(jù)組件串聯(lián)起來(lái)實(shí)行了一體化管理,但是接觸過(guò)數(shù)據(jù)開(kāi)發(fā)的人會(huì)感受比較強(qiáng)烈,這樣的裸露架構(gòu)業(yè)務(wù)數(shù)據(jù)開(kāi)發(fā)需要關(guān)注很多基礎(chǔ)工具的使用,實(shí)際數(shù)據(jù)開(kāi)發(fā)中存在很多痛點(diǎn)與難點(diǎn),具體表現(xiàn)在下面一些方面。

  缺乏一套數(shù)據(jù)開(kāi)發(fā)IDE來(lái)管理整個(gè)數(shù)據(jù)開(kāi)發(fā)環(huán)節(jié),長(zhǎng)遠(yuǎn)的流程無(wú)法管理起來(lái)。

  沒(méi)有產(chǎn)生標(biāo)準(zhǔn)數(shù)據(jù)建模體系,導(dǎo)致不同數(shù)據(jù)工程師對(duì)指標(biāo)理解不同計(jì)算口徑有誤。

  大數(shù)據(jù)組件開(kāi)發(fā)要求高,普通業(yè)務(wù)去直接使用Hbase、ES等技術(shù)組件會(huì)產(chǎn)生各種問(wèn)題。

  基本上每個(gè)公司大數(shù)據(jù)團(tuán)隊(duì)都會(huì)很復(fù)雜,涉及到很多環(huán)節(jié),遇到問(wèn)題難以定位難以找到對(duì)應(yīng)負(fù)責(zé)人。

  難以打破數(shù)據(jù)孤島,跨團(tuán)隊(duì)跨部門(mén)數(shù)據(jù)難以共享,互相不清楚對(duì)方有什么數(shù)據(jù)。

  需要維護(hù)兩套計(jì)算模型批計(jì)算和流計(jì)算,難以上手開(kāi)發(fā),需要提供一套流批統(tǒng)一的SQL。

  缺乏公司層面的元數(shù)據(jù)體系規(guī)劃,同一條數(shù)據(jù)實(shí)時(shí)和離線難以復(fù)用計(jì)算,每次開(kāi)發(fā)任務(wù)都要各種梳理。

  基本上大多數(shù)公司在數(shù)據(jù)平臺(tái)治理上和提供開(kāi)放能力上都存在上述問(wèn)題和痛點(diǎn)。在復(fù)雜的數(shù)據(jù)架構(gòu)下,對(duì)于數(shù)據(jù)適用方來(lái)說(shuō),每一個(gè)環(huán)節(jié)的不清晰或者一個(gè)功能的不友好,都會(huì)讓復(fù)雜鏈路變更更加復(fù)雜起來(lái)。想要解決這些痛點(diǎn),就需要精心打磨每一個(gè)環(huán)節(jié),將上面技術(shù)組件無(wú)縫銜接起來(lái),讓業(yè)務(wù)從端到端使用數(shù)據(jù)就像寫(xiě)SQL查詢數(shù)據(jù)庫(kù)一樣簡(jiǎn)單。

  五、優(yōu)秀的大數(shù)據(jù)整體架構(gòu)設(shè)計(jì)

  提供多種平臺(tái)以及工具來(lái)助力數(shù)據(jù)平臺(tái):多種數(shù)據(jù)源的數(shù)據(jù)采集平臺(tái)、一鍵數(shù)據(jù)同步平臺(tái)、數(shù)據(jù)質(zhì)量和建模平臺(tái)、元數(shù)據(jù)體系、數(shù)據(jù)統(tǒng)一訪問(wèn)平臺(tái)、實(shí)時(shí)和離線計(jì)算平臺(tái)、資源調(diào)度平臺(tái)、一站式開(kāi)發(fā)IDE。

  六、元數(shù)據(jù)-大數(shù)據(jù)體系基石

  元數(shù)據(jù)是打通數(shù)據(jù)源、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)應(yīng)用,記錄了數(shù)據(jù)從產(chǎn)生到消費(fèi)的完整鏈路。元數(shù)據(jù)包含靜態(tài)的表、列、分區(qū)信息(也就是metaStore)。動(dòng)態(tài)的任務(wù)、表依賴映射關(guān)系;數(shù)據(jù)倉(cāng)庫(kù)的模型定義、數(shù)據(jù)生命周期;以及ETL任務(wù)調(diào)度信息、輸入輸出等元數(shù)據(jù)是數(shù)據(jù)管理、數(shù)據(jù)內(nèi)容、數(shù)據(jù)應(yīng)用的基礎(chǔ)。例如可以利用元數(shù)據(jù)構(gòu)建任務(wù)、表、列、用戶之間的數(shù)據(jù)圖譜;構(gòu)建任務(wù)DAG依賴關(guān)系,編排任務(wù)執(zhí)行序列;構(gòu)建任務(wù)畫(huà)像,進(jìn)行任務(wù)質(zhì)量治理;提供個(gè)人或BU的資產(chǎn)管理、計(jì)算資源消耗概覽等。

  可以認(rèn)為整個(gè)大數(shù)據(jù)數(shù)據(jù)流動(dòng)都是依靠元數(shù)據(jù)來(lái)管理的,沒(méi)有一套完整的元數(shù)據(jù)設(shè)計(jì),就會(huì)出現(xiàn)上面的數(shù)據(jù)難以追蹤、權(quán)限難以把控、資源難以管理、數(shù)據(jù)難以共享等等問(wèn)題。

  很多公司都是依靠hive來(lái)管理元數(shù)據(jù),但是個(gè)人認(rèn)為在發(fā)展一定階段還是需要自己去建設(shè)元數(shù)據(jù)平臺(tái)來(lái)匹配相關(guān)的架構(gòu)。

  七、流批一體化計(jì)算

  如果維護(hù)兩套計(jì)算引擎例如離線計(jì)算Spark和實(shí)時(shí)計(jì)算Flink,那么會(huì)對(duì)使用者造成極大困擾,既需要學(xué)習(xí)流計(jì)算知識(shí)也需要批計(jì)算領(lǐng)域知識(shí)。如果實(shí)時(shí)用Flink離線用Spark或者Hadoop,可以開(kāi)發(fā)一套自定義的DSL描述語(yǔ)言去匹配不同計(jì)算引擎語(yǔ)法,上層使用者無(wú)需關(guān)注底層具體的執(zhí)行細(xì)節(jié),只需要掌握一門(mén)DSL語(yǔ)言,就可以完成Spark和Hadoop以及Flink等等計(jì)算引擎的接入。

  八、實(shí)時(shí)與離線ETL平臺(tái)

  ETL即Extract-Transform-Load,用來(lái)描述將數(shù)據(jù)從來(lái)源端經(jīng)過(guò)抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過(guò)程。ETL一詞較常用在數(shù)據(jù)倉(cāng)庫(kù),但其對(duì)象并不限于數(shù)據(jù)倉(cāng)庫(kù)。一般而言ETL平臺(tái)在數(shù)據(jù)清洗、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)補(bǔ)全、數(shù)據(jù)質(zhì)量管理等方面有很重要作用。作為重要的數(shù)據(jù)清洗中間層,一般而言ETL最起碼要具備下面幾個(gè)功能:

  支持多種數(shù)據(jù)源,例如消息系統(tǒng)、文件系統(tǒng)等

  支持多種算子,過(guò)濾、分割、轉(zhuǎn)換、輸出、查詢數(shù)據(jù)源補(bǔ)全等算子能力

  支持動(dòng)態(tài)變更邏輯,例如上述算子通過(guò)動(dòng)態(tài)jar方式提交可以做到不停服發(fā)布變更。

  九、智能統(tǒng)一查詢平臺(tái)

  大多數(shù)數(shù)據(jù)查詢都是由需求驅(qū)動(dòng),一個(gè)需求開(kāi)發(fā)一個(gè)或者幾個(gè)接口,編寫(xiě)接口文檔,開(kāi)放給業(yè)務(wù)方調(diào)用,這種模式在大數(shù)據(jù)體系下存在很多問(wèn)題:

  這種架構(gòu)簡(jiǎn)單,但接口粒度很粗,靈活性不高,擴(kuò)展性差,復(fù)用率低.隨著業(yè)務(wù)需求的增加,接口的數(shù)量大幅增加,維護(hù)成本高企。

  同時(shí),開(kāi)發(fā)效率不高,這對(duì)于海量的數(shù)據(jù)體系顯然會(huì)造成大量重復(fù)開(kāi)發(fā),難以做到數(shù)據(jù)和邏輯復(fù)用,嚴(yán)重降低業(yè)務(wù)適用方體驗(yàn)。

  如果沒(méi)有統(tǒng)一的查詢平臺(tái)直接將Hbase等庫(kù)暴露給業(yè)務(wù),后續(xù)的數(shù)據(jù)權(quán)限運(yùn)維管理也會(huì)比較難,接入大數(shù)據(jù)組件對(duì)于業(yè)務(wù)適用方同樣很痛苦,稍有不慎就會(huì)出現(xiàn)各種問(wèn)題。

  通過(guò)一套智能查詢解決上述大數(shù)據(jù)查詢痛點(diǎn)問(wèn)題

  十、數(shù)倉(cāng)建模規(guī)范體系

  隨著業(yè)務(wù)復(fù)雜度和數(shù)據(jù)規(guī)模上升,混亂的數(shù)據(jù)調(diào)用和拷貝,重復(fù)建設(shè)帶來(lái)的資源浪費(fèi),數(shù)據(jù)指標(biāo)定義不同而帶來(lái)的歧義、數(shù)據(jù)使用門(mén)檻越來(lái)越高。以筆者見(jiàn)證實(shí)際業(yè)務(wù)埋點(diǎn)和數(shù)倉(cāng)使用為例,同一個(gè)商品名稱有些表字段是good_id,有些叫spu_id,還有很多其他命名,對(duì)于想利用這些數(shù)據(jù)人會(huì)造成極大困擾。因此沒(méi)有一套完整的大數(shù)據(jù)建模體系,會(huì)給數(shù)據(jù)治理帶來(lái)極大困難,具體表現(xiàn)在下面幾個(gè)方面:

  數(shù)據(jù)標(biāo)準(zhǔn)不一致,即使是同樣的命名,但定義口徑卻不一致。例如,僅uv這樣一個(gè)指標(biāo),就有十幾種定義。帶來(lái)的問(wèn)題是:都是uv,我要用哪個(gè)?都是uv,為什么數(shù)據(jù)卻不一樣?

  造成巨大研發(fā)成本,每個(gè)工程師都需要從頭到尾了解研發(fā)流程的每個(gè)細(xì)節(jié),對(duì)同樣的“坑”每個(gè)人都會(huì)重新踩一遍,對(duì)研發(fā)人員的時(shí)間和精力成本造成浪費(fèi)。這也是目標(biāo)筆者遇到的困擾,想去實(shí)際開(kāi)發(fā)提取數(shù)據(jù)太難。

  沒(méi)有統(tǒng)一的規(guī)范標(biāo)準(zhǔn)管理,造成了重復(fù)計(jì)算等資源浪費(fèi)。而數(shù)據(jù)表的層次、粒度不清晰,也使得重復(fù)存儲(chǔ)嚴(yán)重。

  因此大數(shù)據(jù)開(kāi)發(fā)和數(shù)倉(cāng)表設(shè)計(jì)必須要堅(jiān)持設(shè)計(jì)原則,數(shù)據(jù)平臺(tái)可以開(kāi)發(fā)平臺(tái)來(lái)約束不合理的設(shè)計(jì),例如阿里巴巴的OneData體。一般而言,數(shù)據(jù)開(kāi)發(fā)要經(jīng)過(guò)按照下面的指導(dǎo)方針進(jìn)行:

  十一、一鍵集成平臺(tái)

  很簡(jiǎn)單的就能將各種各式數(shù)據(jù)一鍵采集到數(shù)據(jù)平臺(tái),通過(guò)數(shù)據(jù)傳輸平臺(tái)將數(shù)據(jù)無(wú)縫銜接到ETL平臺(tái)。ETL通過(guò)和元數(shù)據(jù)平臺(tái)打通,規(guī)范Schema定義,然后將數(shù)據(jù)轉(zhuǎn)換、分流流入到實(shí)時(shí)與離線計(jì)算平臺(tái),后續(xù)任何針對(duì)該數(shù)據(jù)離線和實(shí)時(shí)處理,只需要申請(qǐng)?jiān)獢?shù)據(jù)表權(quán)限就可以開(kāi)發(fā)任務(wù)完成計(jì)算。數(shù)據(jù)采集支持多種各式數(shù)據(jù)來(lái)源,例如binlog、日志采集、前端埋點(diǎn)、kafka消息隊(duì)列等

  十二、數(shù)據(jù)開(kāi)發(fā)IDE-高效的端到端工具

  高效的數(shù)據(jù)開(kāi)發(fā)一站式解決工具,通過(guò)IDE可以完成實(shí)時(shí)計(jì)算與離線計(jì)算任務(wù)開(kāi)發(fā),將上述平臺(tái)全部打通提供一站式解決方案。數(shù)據(jù)開(kāi)發(fā)IDE提供數(shù)據(jù)集成、數(shù)據(jù)開(kāi)發(fā)、數(shù)據(jù)管理、數(shù)據(jù)質(zhì)量和數(shù)據(jù)服務(wù)等全方位的產(chǎn)品服務(wù),一站式開(kāi)發(fā)管理的界面,通過(guò)數(shù)據(jù)IDE完成對(duì)數(shù)據(jù)進(jìn)行傳輸、轉(zhuǎn)換和集成等操作。從不同的數(shù)據(jù)存儲(chǔ)引入數(shù)據(jù),并進(jìn)行轉(zhuǎn)化和開(kāi)發(fā),最后將處理好的數(shù)據(jù)同步至其他數(shù)據(jù)系統(tǒng)。通過(guò)高效率的大數(shù)據(jù)開(kāi)發(fā)IDE,基本上讓大數(shù)據(jù)工程師可以屏蔽掉各種痛點(diǎn),將上述多種平臺(tái)能力結(jié)合起來(lái),讓大數(shù)據(jù)開(kāi)發(fā)可以向?qū)慡QL一樣簡(jiǎn)單。

上述內(nèi)容就是如何進(jìn)行大數(shù)據(jù)平臺(tái)架構(gòu)的設(shè)計(jì),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI