1. 程式人生 > >大資料平臺Lambda架構詳解

大資料平臺Lambda架構詳解

Lambda架構由Storm的作者Nathan Marz提出。旨在設計出一個能滿足。實時大資料系統關鍵特性的架構,具有高容錯、低延時和可擴充套件等特。
Lambda架構整合離線計算和實時計算,融合不可變(Immutability,讀寫分離和隔離 一系列構原則,可整合Hadoop,Kafka,Storm,Spark,HBase等各類大資料元件。

Lambda架構的主要思想就是將大資料系統構建為多個層次,三層架構:批處理層、實時處理層、服務層 ,如下圖

批處理層:批量處理資料,生成離線結果
實時處理層:實時處理線上資料,生成增量結果
服務層:結合離線、線上計算結果,推送上層
1.批處理層
在Lambda架構中,實現batch view = function(all data)的部分被稱之為 batch layer。它承擔了兩個職責:

儲存Master Dataset,這是一個不變的持續增長的資料集
針對這個Master Dataset進行預運算

顯然,Batch Layer執行的是批量處理,例如Hadoop或者Spark支援的Map-Reduce方式。 它的執行方式可以用一段虛擬碼來表示
1
function runBatchLayer():
while (true):
recomputeBatchViews()
1
2
3
利用Batch Layer進行預運算的作用實際上就是將大資料變小,從而有效地利用資源,改善實時查詢的效能。但這裡有一個前提,

就是我們需要預先知道查詢需要的資料,如此才能在Batch Layer中安排執行計劃,定期對資料進行批量處理。 此外,還要求這些預運算的統計資料是支援合併(merge)的。

2實時處理層
只要batch layer完成對batch view的預計算,serving layer就會對其進行 更新。這意味著在執行預計算時進入的資料不會馬上呈現到batch view中。這對於 要求完全實時的資料系統而言是不能接受的。要解決這個問題,就要通過speed layer。從對資料的處理來看,speed layer與batch layer非常相似,它們之間最大的 區別是前者只處理最近的資料,後者則要處理所有的資料。
另一個區別是為了滿足最 小的延遲,speed layer並不會在同一時間讀取所有的新資料,相反,它會在接收到 新資料時,更新realtime view, 而不會像batch layer那樣重新運算整個view。 speed layer是一種增量的計算,而非重新運算(recomputation)。
因而,Speed Layer的作用包括:

對更新到serving layer帶來的高延遲的一種補充
快速、增量的演算法
最終Batch Layer會覆蓋speed layer
Speed Layer的等式表達如下所示:

realtime view = function(realtime view, new data)
1
3服務層
Batch Layer通過對master dataset執行查詢獲得了batch view,而 Serving Layer就要負責對batch view進行操作,從而為最終的實時查詢提供支撐。因此Serving Layer的職責包含:

對batch view的隨機訪問
更新batch view Serving Layer應該是一個專用的分散式資料庫,例如Elephant
DB,以支援對batch view的載入、隨機讀取以及更新。

注意,它並不支援對batch view的隨機寫,因為隨機寫會為資料庫引來許多複雜 性。簡單的特性才能使系統變得更健壯、可預測、易配置,也易於運維。

總結下來,Lambda架構就是如下的三個等式

batch view = function(all data)
realtime view = function(realtime view, new data)
query = function(batch view . realtime view)
1
2
3
4.Lambda架構元件選型
下圖給出了Lambda架構中各個層常用的元件。資料流儲存可選用基於不 可變日誌的分散式訊息系統Kafka;Batch Layer資料集的儲存可選用Hadoop的 HDFS,或者是阿里雲的ODPS;Batch View的預計算可以選用MapReduce或 Spark;Batch View自身結果資料的儲存可使用MySQL(查詢少量的最近結果數 據),或HBase(查詢大量的歷史結果資料)。Speed Layer增量資料的處理可選用 Storm或Spark Streaming;Realtime View增量結果資料集為了滿足實時更新的效 率,可選用Redis等記憶體NoSQL

5.Lambda架構元件選型原則
Lambda架構是個通用框架,各個層選型時不要侷限時上面給出的元件,特 別是對於View的選型。從我對Lambda架構的實踐來看,因為View是個和業務關聯 性非常大的概念,View選擇元件時關鍵是要根據業務的需求,來選擇最適合查詢的 元件。不同的View元件的選擇要深入挖掘資料和計算自身的特點,從而選擇出最適 合數據和計算自身特點的元件,同時不同的View可以選擇不同的元件。

6.Lambda架構優缺點
優點:

實時:低延遲處理資料
可重計算:由於資料不可變,重新計算一樣可以得到正確的結果
容錯:第二點帶來的,程式bug、系統問題等,可以重新計算
複雜性分離、讀寫分離
缺點:

開發和運維的複雜性:Lambda需要將所有的演算法實現兩次,一次是為批處理系統,另一次是為實時系統,還要求查詢得到的是兩個系統結果的合併

相關推薦

資料平臺Lambda架構

Lambda架構由Storm的作者Nathan Marz提出。旨在設計出一個能滿足。實時大資料系統關鍵特性的架構,具有高容錯、低延時和可擴充套件等特。 Lambda架構整合離線計算和實時計算,融合不可變(Immutability,讀寫分離和隔離 一系列構原則,可整合Hadoop,Kafka,Storm,Spa

Others-資料平臺Lambda架構淺析(全量計算+增量計算)

大資料平臺Lambda架構淺析(全量計算+增量計算) 2016年12月23日 22:50:53 scuter_victor 閱讀數:1642 標籤: spark大資料lambda 更多

Linux下基於Hadoop的資料環境搭建步驟(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安裝與配置)

Linux下基於Hadoop的大資料環境搭建步驟詳解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安裝與配置) 系統說明 搭建步驟詳述 一、節點基礎配置 二、H

資料開發面試題:Hadoop的執行原理

hadoop的核心思想是MapReduce,但shuffle又是MapReduce的核心。shuffle的主要工作是從Map結束到Reduce開始之間的過程。 Hadoop不僅僅是大資料技術的核心重點,還是我們面試官面試的時候經常會問道的問題,本文將詳細介紹Hadoop的執行原理。 hadoop執

資料分析-使用者畫像

轉自: 百麗百靈(ID:BL100BL) 轉自資料分析公號,來源:資料客 什麼是使用者畫像? 使用者畫像(User Profile),作為大資料的根基,它完美地抽象出一個使用者的資訊全貌,為進一步精準、快速地分析使

知名大廠如何搭建資料平臺&架構

今天我們來看一下淘寶、美團和滴滴的大資料平臺,一方面進一步學習大廠大資料平臺的架構,另一方面也學習大廠的工程師如何畫架構圖。通過大廠的這些架構圖,你就會發現,不但這些知名大廠的大資料平臺設計方案大同小異,架構圖的畫法也有套路可以尋覓。 淘寶大資料平臺 淘寶可能是中國網際網路業界較早搭建了自己大資料平臺的公司,

hadoop資料平臺架構之DKhadoop

大資料的時代已經來了,資訊的爆炸式增長使得越來越多的行業面臨這大量資料需要儲存和分析的挑戰。Hadoop作為一個開源的分散式並行處理平臺,以其高拓展、高效率、高可靠等優點越來越受到歡迎。這同時也帶動了hadoop商業版的發行。這裡就通過大快DKhadoop為大家詳細介紹一下h

分享《深度學習與計算機視覺演算法原理框架應用》《資料架構資料獲取到深度學習》PDF資料

下載:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多資料分享:http://blog.51cto.com/3215120 《深度學習與計算機視覺 演算法原理、框架應用》PDF,帶書籤,347頁。《大資料架構詳解:從資料獲取到深度學習》PDF,帶書籤,3

分享《深度學習與計算機視覺演算法原理框架應用》PDF《資料架構資料獲取到深度學習》PDF +資料

下載:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多分享資料:https://www.cnblogs.com/javapythonstudy/ 《深度學習與計算機視覺 演算法原理、框架應用》PDF,帶書籤,347頁。《大資料架構詳解:從資料獲取到深度學

資料架構》讀後感

《大資料架構詳解》 —— 讀後感作者:朱潔 羅華霖出版商:中國工信出版社 電子工業出版社版次:2016年10月第1版印數:7001 ~ 12000冊定價:69.00元本書花了大量筆墨講了通訊運營商的大資

Thinking in BigData(八)資料Hadoop核心架構HDFS+MapReduce+Hbase+Hive內部機理

      純乾貨:Hadoop核心架構HDFS+MapReduce+Hbase+Hive內部機理詳解。       通過這一階段的調研總結,從內部機理的角度詳細分析,HDFS、MapReduce、Hbase、Hive是如何執行,以及基於Hadoop資料倉庫的構建和分散式資

資料架構:從資料獲取到深度學習

機器學習(Machine Learning,ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。其專門研究計算機是怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構,使之不斷改善自身的效能。此外,資料探勘和機

資料平臺架構思考

筆者早期從事資料開發時,使用spark開發一段時間,感覺大資料開發差不多學到頭了,該會的似乎都會了。在後來的實踐過程中,發現很多事情需要站在更高的視角來看問題,不然很容易陷入“不識廬山真面目”的境界。最近在思考資料資產管理平臺的建設,進行血緣分析開發,有如下感悟: 大資料平臺從資料層面來說,包括資料本身和元

多圖技術貼:深入淺出解析資料平臺架構

化資料也爆發式增長。比如: 1、業務系統現在平均每天儲存20萬張圖片,磁碟空間每天消耗100G; 2、平均每天產生簽約視訊檔案6000個,每個平均250M,磁碟空間每天消耗1T; …… 三國裡的“大資料” “草船借箭”和大資料有什麼關係呢?對天象的觀察是基於一種對風、雲、溫度、溼度、光照和

阿里如何實現秒級百萬TPS?搜尋離線資料平臺架構解讀

什麼是搜尋離線? 一個典型的商品搜尋架構如下圖所示,本文將要重點介紹的就是下圖中的離線資料處理系統(Offline System)。 何謂離線?在阿里搜尋工程體系中我們把搜尋引擎、線上算分、SearchPlanner等ms級響應使用者請求的服務稱之為“

[Hbase]HBase架構資料的讀寫流程

HBase架構圖理解 18.png HMaster連結Zookeeper的目得:HMaster需要知道哪些HRegionServere是活的及HRegionServer所在的位置,然後管理HRegionServer。 HBase內部是通過DFS client把資料寫

資料崗位集合——架構師、基礎研發、平臺研發(高階、資深)上海、北京、蘇州**

我是獵頭聞慄,以下是目前最新大資料類崗位,如果有感興趣的同學歡迎及時聯絡我 電話(微信)15809212974 簡歷傳送郵箱:[email protected] 【職位1】:大資料基礎架構研發工程師 【地點】:蘇州 【公司】:思必馳——專注智慧硬體的語

深入資料平臺心臟:餓了麼排程系統全

隨著餓了麼在大資料應用的不斷深入,需要解決任務數量增長快、任務多樣化、任務關係複雜、任務執行效率低及任務失敗不可控等問題。 餓了麼大資料平臺現狀:每天完成大資料任務計算 54000+;節點叢集 85 臺。 開源解決方案 Ooize Ooize 基於工作流排程引擎,是雅虎的開源專

商用資料平臺的五層架構分析

IaaS、PaaS、SaaS是雲端計算的三種不同的服務模式,IaaS基礎設施在最下端,PaaS平臺在中間,SaaS軟體在頂端。 IaaS :Infrastructure-as-a-Service 基礎構架即服務。這一層主要是對基礎設施進行管理以給使用者提供資源使用,如提供計算服務、安全備份、

架構師實踐日 11.9 南京站報名 | 技術牛帶你剖析資料平臺內部演進中的挑戰與實踐

從網際網路時代到物聯網時代,資料成為了企業的核心資產,挖掘資料價值成為了企業資料探索、技術應用的重中之重,甚至將影響到企業未來的發展和商業模式。但大資料體量大、多樣性、價值密度低、速度快等特徵,也給大資料的應用研發工作帶來了不少挑戰。  如何應對大資料