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

如何利用云邊協同計算平臺的環境優勢實現高效的批流融合處理系統,從而低延遲、高吞吐地對全量歷史數據與實時的流數據進行融合計算,為各行業的新型應用提供有力支撐。
大數據培訓Lambda架構是什么?
對于在云端的數據中心實現針對海量歷史數據的批量計算及優化,同時需要分別在云端、邊緣端實現針對流數據的實時處理的場景。換言之為了達到全量數據批處理的準確性與實時數據流處理的低延遲的兼具,Nathan Marz基于他在Backtype和Twitter公司中對大數據處理系統的設計、開發經驗,于2013年提出了批流處理系統架構Lambda。
大數據培訓Lambda架構是當前大數據中批流處理方向影響最為深刻、應用最為廣泛的架構,主要分為以下3個組成部分:
(1)批處理層(batch layer)
該層負責兩方面的內容:管理“主數據庫”,即保存有完整的歷史數據、持久化存儲的、不可變的、僅支持追加的數據倉庫;計算批處理視圖,即通過批處理的方式對全量數據進行分析所得出的視圖。
可見,批處理部分類似于其他專用批處理系統對大規模的數據在保證準確性和完整性的前提下,利用批處理優化技術進行全局分析。
(2)服務層(serving layer)
該層與批處理層一同工作功能上作為應用程序進行查詢的服務器,負責對批處理層中產生的批處理視圖建立索引以便應用程序能夠根據用戶的指定進行低延遲的、點對點(ad-hoc)的查詢。需要注意的是,這里的“低延遲”指的是用于進行查詢(query)時系統響應結果的延遲,這個時間會因為索引的建立而大大降低,但并不會改變批處理層中對全量數據進行計算更新的時間開銷。
(3)流處理層(speed layer)
由批處理層與服務層組成的批處理部分能夠對離線的歷史數據進行完整的分析,但如同傳統的批處理專用系統,這個處理過程將會遍歷所有已存在的數據,將不可避免地造成較大的計算開銷,并占用較長的處理時間。那么為了實現對實時數據的流式處理,便需要“流處理層”與它相結合。流處理層即基于流式處理建立的數據處理模塊,彌補了批處理部分的高延遲更新缺陷,僅用于接收最近產生的流數據,并根據它進行計算得出即時結果。
這里的“計算”更準確而言應是“近似計算”,因為流處理部分并不能夠獲知全局的數據,而僅僅能夠獲取剛剛發生的事件及最近的狀態信息,但同時也由于這個原因,流處理層具備批處理模塊無法達到的視圖更新速度,能夠以高出數個數量級的響應效率,支撐用戶對于最新數據的分析要求。
在上述批處理層、服務層和流處理層的基礎上,大數據培訓Lambda架構的核心思想便是將數據輸入到了批處理、流處理兩個數據鏈路中,分別并行地進行計算,并在用戶進行查詢的階段,將兩個數據鏈路產生的結果(視圖)進行融合,返回給用戶。這樣,一方面,批處理模塊基于全量數據計算得出的結果保證了最終響應結果的完整性與準確性;另一方面,流處理模塊基于實時數據進行流處理獲得的即時更新保證了用戶查詢的極低延遲。
缺陷:設計和實現該架構的過程中,存在一些無法避免的問題,其中最為主要的便是開發和維護的復雜性。對于開發人員而言,實現一個較為完善的分布式處理系統需要付出很大的精力,這不僅表現在設計、編碼的過程中,更表現在效率優化、后期維護升級等方面,每一個細節的調整都可能會導致設計思路的轉變,從而造成較大的更新代價。
那么是否能夠在盡量避免同時開發批、流兩個系統的復雜性的同時,實現基于云邊協同平臺的批流融合處理呢?換言之能否改進批處理或流處理其中一個以使它不足的方面達到或接近另一模塊的水平?
注:尊重原創文章,轉載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-24081.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注數據庫工程師頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050