大數據平臺系統架構簡介

大數據平臺一般包括:數據收集,數據處理和數據結果應用/展示,針對數據本身和處理時效性的特點,主要分為數據批處理(Batch,也叫離線處理)和流處理(Online/Speed,也叫實時處理或在線處理)。

當前絕大部分大數據工程師主要工作在如何集成各類大數據的框架,針對業務特點做相應的適配,無需自己設計新的框架。最常規的大數據平臺架構是Lambda架構,它也是當前各類大數據平臺,包括淘寶,美團,滴滴和騰訊的大數據平臺的基本模型參考,後面的章節我會展開介紹這幾家的主要數據平臺的特點。Lambda架構由Nathan Marz提出,他也是Storm的作者,架構如圖1所示:

大數據平臺系統架構簡介

圖1 Lambda架構

它主要包括以下幾點:

  1. All data entering the system is dispatched to both the batch layer and the speed layer for processing.
  2. The batch layer has two functions: (i) managing the master dataset (an immutable, append-only set of raw data), and (ii) to pre-compute the batch views.
  3. The serving layer indexes the batch views so that they can be queried in low-latency, ad-hoc way.
  4. The speed layer compensates for the high latency of updates to the serving layer and deals with recent data only.
  5. Any incoming query can be answered by merging results from batch views and real-time views.

-引自:Lambda Architecture, http://lambda-architecture.net

我提煉一下:簡單來說,進入大數據處理平臺的數據同時分發給批處理層和流處理層;批處理層是數據存儲的主要地方,也是批處理計算的主要地方;服務層接收批處理的結果,供應用作查詢;批處理處理的往往是時間跨度相對實時處理稍長的歷史數據,相對流處理其結果延時較長,所以需要流處理對數據做實時計算,及時返回結果供應用使用。批處理和流處理的結果可以組合供應用查詢。

Lambda是基本的模型,圖2描述了當前主要使用的批處理和流處理框架,這也是當前主流的大數據平臺架構:

大數據平臺系統架構簡介

圖2 大數據平臺架構

後面的章節我會就各個部分(數據收集,數據處理,數據結果輸出/展示)展開介紹,並詳細說明裡面的技術框架的使用。


分享到:


相關文章: