歡迎來到培訓(xùn)無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > 數(shù)據(jù)庫工程師 >  大數(shù)據(jù)培訓(xùn)中怎么處理Lambda架構(gòu)

大數(shù)據(jù)培訓(xùn)中怎么處理Lambda架構(gòu)

來源:培訓(xùn)無憂網(wǎng) 發(fā)布人:半夏

2022-03-02 10:49:17|已瀏覽:163次

    培訓(xùn)無憂網(wǎng)大數(shù)據(jù)培訓(xùn)Lambda架構(gòu)

        如何利用云邊協(xié)同計算平臺的環(huán)境優(yōu)勢實現(xiàn)高效的批流融合處理系統(tǒng),從而低延遲、高吞吐地對全量歷史數(shù)據(jù)與實時的流數(shù)據(jù)進(jìn)行融合計算,為各行業(yè)的新型應(yīng)用提供有力支撐。

        大數(shù)據(jù)培訓(xùn)Lambda架構(gòu)是什么?

        對于在云端的數(shù)據(jù)中心實現(xiàn)針對海量歷史數(shù)據(jù)的批量計算及優(yōu)化,同時需要分別在云端、邊緣端實現(xiàn)針對流數(shù)據(jù)的實時處理的場景。換言之為了達(dá)到全量數(shù)據(jù)批處理的準(zhǔn)確性與實時數(shù)據(jù)流處理的低延遲的兼具,Nathan Marz基于他在Backtype和Twitter公司中對大數(shù)據(jù)處理系統(tǒng)的設(shè)計、開發(fā)經(jīng)驗,于2013年提出了批流處理系統(tǒng)架構(gòu)Lambda。

        大數(shù)據(jù)培訓(xùn)Lambda架構(gòu)是當(dāng)前大數(shù)據(jù)中批流處理方向影響最為深刻、應(yīng)用最為廣泛的架構(gòu),主要分為以下3個組成部分:

    (1)批處理層(batch layer)

        該層負(fù)責(zé)兩方面的內(nèi)容:管理“主數(shù)據(jù)庫”,即保存有完整的歷史數(shù)據(jù)、持久化存儲的、不可變的、僅支持追加的數(shù)據(jù)倉庫;計算批處理視圖,即通過批處理的方式對全量數(shù)據(jù)進(jìn)行分析所得出的視圖。

    可見,批處理部分類似于其他專用批處理系統(tǒng)對大規(guī)模的數(shù)據(jù)在保證準(zhǔn)確性和完整性的前提下,利用批處理優(yōu)化技術(shù)進(jìn)行全局分析。

    (2)服務(wù)層(serving layer)

        該層與批處理層一同工作功能上作為應(yīng)用程序進(jìn)行查詢的服務(wù)器,負(fù)責(zé)對批處理層中產(chǎn)生的批處理視圖建立索引以便應(yīng)用程序能夠根據(jù)用戶的指定進(jìn)行低延遲的、點對點(ad-hoc)的查詢。需要注意的是,這里的“低延遲”指的是用于進(jìn)行查詢(query)時系統(tǒng)響應(yīng)結(jié)果的延遲,這個時間會因為索引的建立而大大降低,但并不會改變批處理層中對全量數(shù)據(jù)進(jìn)行計算更新的時間開銷。

    (3)流處理層(speed layer)

        由批處理層與服務(wù)層組成的批處理部分能夠?qū)﹄x線的歷史數(shù)據(jù)進(jìn)行完整的分析,但如同傳統(tǒng)的批處理專用系統(tǒng),這個處理過程將會遍歷所有已存在的數(shù)據(jù),將不可避免地造成較大的計算開銷,并占用較長的處理時間。那么為了實現(xiàn)對實時數(shù)據(jù)的流式處理,便需要“流處理層”與它相結(jié)合。流處理層即基于流式處理建立的數(shù)據(jù)處理模塊,彌補了批處理部分的高延遲更新缺陷,僅用于接收最近產(chǎn)生的流數(shù)據(jù),并根據(jù)它進(jìn)行計算得出即時結(jié)果。

        這里的“計算”更準(zhǔn)確而言應(yīng)是“近似計算”,因為流處理部分并不能夠獲知全局的數(shù)據(jù),而僅僅能夠獲取剛剛發(fā)生的事件及最近的狀態(tài)信息,但同時也由于這個原因,流處理層具備批處理模塊無法達(dá)到的視圖更新速度,能夠以高出數(shù)個數(shù)量級的響應(yīng)效率,支撐用戶對于最新數(shù)據(jù)的分析要求。

         在上述批處理層、服務(wù)層和流處理層的基礎(chǔ)上,大數(shù)據(jù)培訓(xùn)Lambda架構(gòu)的核心思想便是將數(shù)據(jù)輸入到了批處理、流處理兩個數(shù)據(jù)鏈路中,分別并行地進(jìn)行計算,并在用戶進(jìn)行查詢的階段,將兩個數(shù)據(jù)鏈路產(chǎn)生的結(jié)果(視圖)進(jìn)行融合,返回給用戶。這樣,一方面,批處理模塊基于全量數(shù)據(jù)計算得出的結(jié)果保證了最終響應(yīng)結(jié)果的完整性與準(zhǔn)確性;另一方面,流處理模塊基于實時數(shù)據(jù)進(jìn)行流處理獲得的即時更新保證了用戶查詢的極低延遲。

         缺陷:設(shè)計和實現(xiàn)該架構(gòu)的過程中,存在一些無法避免的問題,其中最為主要的便是開發(fā)和維護(hù)的復(fù)雜性。對于開發(fā)人員而言,實現(xiàn)一個較為完善的分布式處理系統(tǒng)需要付出很大的精力,這不僅表現(xiàn)在設(shè)計、編碼的過程中,更表現(xiàn)在效率優(yōu)化、后期維護(hù)升級等方面,每一個細(xì)節(jié)的調(diào)整都可能會導(dǎo)致設(shè)計思路的轉(zhuǎn)變,從而造成較大的更新代價。

         那么是否能夠在盡量避免同時開發(fā)批、流兩個系統(tǒng)的復(fù)雜性的同時,實現(xiàn)基于云邊協(xié)同平臺的批流融合處理呢?換言之能否改進(jìn)批處理或流處理其中一個以使它不足的方面達(dá)到或接近另一模塊的水平?

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.universityresearchassociates.com/news-id-24081.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注數(shù)據(jù)庫工程師頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機:

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓(xùn)無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!