流式數據、批式數據、實時數據、歷史數據的區別

1.流式數據、批式數據、實時數據、歷史數據的區別:

根據數據處理的時效性,大數據處理系統可分爲批式(batch)大數據和流式(streaming)大數據兩類。

其中,批式大數據又被稱爲歷史大數據,流式大數據又被稱爲實時大數據。

 舉個例子來說:我們把數據當成水庫的話,水庫裏面存在的水就是批式大數據,進來的水是流式大數據。

 

複雜的批量數據處理(batch data processing),通常的時間跨度在數十分鐘到數小時之間。

基於歷史數據的交互式查詢(interactive query),通常的時間跨度在數十秒到數分鐘之間。

基於實時數據流的數據處理(streaming data processing),通常的時間跨度在數百毫秒到數秒之間。

 

2.實時計算,離線計算,流式計算的區別:

實時計算,強調的是實時。

比如小明要查看他去年一年的消費總額度,那麼當小明點下統計按鈕的時候,服務器集羣就在噼裏啪啦的趕緊計算了,必須在小明能夠忍耐的時間範圍內得出結果。這種計算的背後實現,一般都是冗餘 + 各種高性能部件在做支撐,算法也對實時性做了優化,但實時計算並沒有強調用那種算法,只要能保證高實時性的就行。

實時計算與離線計算的最大區別,就是離線計算是人無法忍耐的時間進行計算,因此人不需要等待,把任務丟給計算機後,自己該幹嘛就去幹嘛。

流式計算,比實時計算要稍微遲鈍些,但比離線計算又實時的多,而且主要強調的是計算方法。

比如,服務器端,有一個值,是記錄小明訂單數量。當小明每買一件東西后,服務端立即發出一個交易成功的事件,該值接收到這個事件後就立即加1。如果用離線計算的方式來做,估計是在查詢時,才慢騰騰的從低速存儲中,把小明的所有訂單取出來,統計數量。流式計算有點像數據庫領域的觸發器,又有些像事件總線、中間件之類的計算模式。

 

3.離線數據處理與流數據處理的區別:

離線數據處理——批處理    串行計算

流數據處理——流水線     並行計算

如上圖所示,離線數據處理採用的是串行計算,流數據處理採用的是並行計算的方式,相比之下,流數據處理的時效性更好。

 

4.   目前主流的大數據處理技術體系主要包括hadoop及其衍生系統。

現有的大數據處理系統可以分爲兩類:批處理大數據系統與流處理大數據系統。

以Hadoop爲代表的批處理大數據系統需先將數據匯聚成批,經批量預處理後加載至分析型數據倉庫中,以進行高性能實時查詢。這類系統雖然可對完整大數據集實現高效的即席查詢,但無法查詢到最新的實時數據,存在數據遲滯高等問題。

相較於批處理大數據系統,以Spark Streaming、Storm、Flink爲代表的流處理大數據系統將實時數據通過流處理,逐條加載至高性能內存數據庫中進行查詢。此類系統可以對最新實時數據實現高效預設分析處理模型的查詢,數據遲滯低。然而受限於內存容量,系統需丟棄原始歷史數據,無法在完整大數據集上支持Ad-Hoc查詢分析處理。因此,研發具有快速、高效、智能且自主可控特點的流式大數據實時處理技術與平臺是當務之急。

 

 

1、什麼是流式大數據,處理技術、平臺及應用都是什麼? 

http://www.duozhishidai.com/article-905-1.html

2、Spark Streaming:大規模流式數據處理 

https://blog.csdn.net/lskyne/article/details/37560609

3、什麼是流式數據訪問? 
https://www.zhihu.com/question/30083497

4、流式計算和實時計算有什麼區別? 
https://www.zhihu.com/question/38996005

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章