圖1. 大數據的常見處理流程

整個處理流程可以概括為四步,分別是采集、導入和預處理、統計和分析以及挖掘。

采集

利用多個的數據庫來接收發自客戶端(Web、App或者傳感器形式等)的數據,并且用戶可以通過這些數據庫來進行簡單的查詢和處理工作,比如,電商 會使用傳統的關系型數據庫MySQL和Oracle等來存儲每一筆事務數據,除此之外,Redis和MongoDB這樣的NoSQL數據庫也常用于數據的 采集。

在采集部分,主要特點和挑戰方面是并發數高,因為同時有可能會有成千上萬的用戶來進行訪問和操作,比如著名用于購買火車票的12306站點和淘寶, 它們并發的訪問量在峰值時達到上百萬,所以需要在采集端部署大量數據庫才能支撐,并且如何在這些數據庫之間進行負載均衡和分片的確是需要深入地思考和設 計。

導入/預處理

雖然有采集端本身會有很多數據庫,但是如果要對這些海量數據進行有效地分析,還是應該將這些來自前端的數據導入到一個集中的大型分布式數據庫或者分 布式存儲集群,并且可以在導入基礎上做一些簡單的清洗和預處理工作,也有一些用戶會在導入時候使用來自Twitter的Storm來對數據進行流式計算, 來滿足部分業務的實時計算需求。

在特點和挑戰方面,主要是導入數據量大,每秒導入量經常達到百兆,甚至GB級別。

統計/分析

統計與分析主要利用分布式數據庫或者分布式計算集群來對存儲于其內的海量數據進行普通的分析和分類匯總等,以滿足大多數常見的分析需求,在這方面,一些實時性需求會用到EMC 的GreenPlum、Oracle的Exadata以及基于MySQL的列式存儲Infobright等,而一些批處理或者基于半結構化的需求可以使用 Hadoop。

統計與分析這部分,主要特點和挑戰方面是分析涉及的數據量大,其對系統資源,特別是I/O會有極大地占用。

挖掘

與前面統計和分析不同的是,數據挖掘一般沒有什么預先設定好的主題,主要是在現有數據上面進行基于各種算法的計算,從而起到預測(Predict) 的效果,這樣實現一些高級別數據分析的需求,比較典型算法有用于聚類的K-Means、用于統計學習的SVM和用于分類的Naive Bayes,主要使用的工具有Hadoop的Mahout等。

在特點和挑戰方面,主要是挖掘的算法復雜,并且計算涉及的數據量和計算量都很大,還有,常用數據挖掘算法庫以單線程為主。

未經允許不得轉載:存儲在線-存儲專業媒體 » 中小企業解決之道:大數據如何從小做起
分享到

wangzhen

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走