從數(shù)據(jù)在信息系統(tǒng)中的生命周期看,大數(shù)據(jù)從數(shù)據(jù)源開始本辐,經過分析、挖掘到最終環(huán)節(jié)獲得價值一般需要經過6個主要環(huán)節(jié):數(shù)據(jù)收集、數(shù)據(jù)存儲慎皱、資源管理與服務協(xié)調老虫、計算引擎、數(shù)據(jù)分析和數(shù)據(jù)可視化茫多。技術體系如圖:
(1)數(shù)據(jù)收集層(ETL祈匙,即提取、轉換天揖、加載)
????數(shù)據(jù)收集層由直接跟數(shù)據(jù)源對接的模塊構成夺欲,負責將數(shù)據(jù)源中的數(shù)據(jù)近實時或實時收集到一起。數(shù)據(jù)源具有的特點:
①分布式:分布在不同機器或設備上今膊,通過網(wǎng)絡連接在一起些阅。
②異構性:產生源頭多樣,比如Web服務器斑唬、數(shù)據(jù)庫市埋、傳感器等。
③多樣化:數(shù)據(jù)格式多樣恕刘。
④流式產生:任意環(huán)節(jié)都會產生腰素。
所以適用于大數(shù)據(jù)領域的收集系統(tǒng),一般具備以下特點:
①擴展性:靈活連接不同數(shù)據(jù)源雪营。
②可靠性:數(shù)據(jù)在傳輸過程中不能丟失或容忍少量丟失弓千。
③安全性:保證收集敏感數(shù)據(jù)不產生安全隱患。
④低延遲:數(shù)據(jù)產生后在較低延遲前提下傳輸?shù)酱鎯ο到y(tǒng)中献起。
(2)數(shù)據(jù)存儲層
????數(shù)據(jù)存儲層主要負責海量結構化與非結構化數(shù)據(jù)的存儲洋访。適用于大數(shù)據(jù)領域的存儲系統(tǒng),一般具備以下特點:
①擴展性:隨著數(shù)據(jù)量的增加谴餐,存儲系統(tǒng)必須具備非常好的線性擴展內存能力姻政。
②容錯性:機器出現(xiàn)故障時系統(tǒng)數(shù)據(jù)不丟失。
③存儲模型:由于數(shù)據(jù)具有多樣性岂嗓,存儲系統(tǒng)應支持多種數(shù)據(jù)模型汁展,確保各類數(shù)據(jù)可以保存。
(3)資源管理與服務協(xié)調層
????相較于“一種應用一個集群”的模式厌殉,應用輕量級彈性資源管理平臺的好處:
①資源利用率高:如果每個應用一個集群食绿,往往會由于應用程序數(shù)量和資源需求的不均衡,造成集群資源的短時間緊缺或浪費公罕。共享集群模式通過各種應用共享資源器紧,使得集群中的資源得到充分利用。
②運營成本低楼眷。
③數(shù)據(jù)共享:跨集群間的數(shù)據(jù)移動不僅需要花費時間铲汪,還增加了硬件成本熊尉。而共享集群模式可以讓多種應用共享數(shù)據(jù)和硬件資源,大大減少了數(shù)據(jù)移動帶來的成本掌腰。
????而在構建分布式大數(shù)據(jù)系統(tǒng)時狰住,會面臨很多共同的問題,包括leader選舉齿梁、服務命名催植、分布式隊列、分布式鎖士飒、發(fā)布訂閱功能等,為了避免重復開發(fā)這些功能蔗崎,通常會構建一個統(tǒng)一的服務協(xié)調組件酵幕,包含了開發(fā)分布式系統(tǒng)過程中通用的功能。
(4)計算引擎層
????按照對時間性能的要求缓苛,可將計算引擎分為三類:
①批處理:對時間要求最低芳撒,追求的是高吞吐量,即單位時間內處理的數(shù)據(jù)量盡可能大未桥。
②交互式處理:對時間要求較高笔刹,需要跟人進行交互,會提供類SQL的語言便于用戶使用冬耿。
③實時處理:對時間要求最高舌菜,注重時效性。
(5)數(shù)據(jù)分析層
????數(shù)據(jù)分析層直接跟用戶應用程序對接亦镶,為其提供易用的數(shù)據(jù)處理工具日月。計算引擎提供的工具包括應用程序API、類SQL查詢語言缤骨、數(shù)據(jù)挖掘SDK等爱咬。
????數(shù)據(jù)分析層典型的模式:首先使用批處理框架對原始海量數(shù)據(jù)進行分析,產生較小規(guī)模的數(shù)據(jù)集绊起,在此基礎上精拟,再使用交互式處理工具對該數(shù)據(jù)集進行快速查詢,獲取最終結果虱歪。
(6)數(shù)據(jù)可視化層
????數(shù)據(jù)可視化技術指的是運用計算機圖形學和圖像處理技術蜂绎,將數(shù)據(jù)轉換為圖形或圖像在屏幕上顯示出來,并進行交互處理的理論笋鄙、方法和技術荡碾。
文章內容整理于:董西成《大數(shù)據(jù)技術體系詳解:原理、架構與實踐》