大數據的數據存儲與分析

大數據的數據存儲與分析---摘自《Hadoop權威指南第2版中文版》

思想一:

數據存儲與分析:

         我們已經有了大量的數據,這是個好消息。不幸的是,我們當下正糾結於存儲和分析這些數據。我們遇到的問題很簡單:讀取一個磁盤中所有的數據需要很長時間,寫甚至更慢。

一個很簡單的減少讀取時間的辦法是同時從多個磁盤上讀取數據。

試想,如果我們擁有100個磁盤,每個磁盤存儲1%的數據,並行讀取,那麼讀取速度就可以提高100倍。僅使用磁盤容量的1%似乎很浪費,但我們可以一個磁盤存儲100個數據集,並實現共享磁盤的訪問。並且,從統計角度來看,用戶的分析工作會在不同的時間點進行,所以互相之間的干擾不會太大。

儘管如此,但要實現對多個磁盤數據的並行讀寫,還有更多的問題要解決。

第一個問題就是硬件故障。一旦使用多個硬件,其中任一硬件發生故障的概率將非常高。避免數據丟失的常用做法是使用備份。

第二個問題是,大多數分析任務,需要以某種方式結合大部分數據,共同完成分析任務,即從一個磁盤讀取的數據可能需要和從另外99個磁盤中讀取的數據結合使用。各種分佈式系統允許結合多個來源的數據並實現分析,但保證其正確性是一個非常大的挑戰。MapReduce提出了一個編程模型,該模型將上述磁盤讀寫的問題進行抽象,並轉換爲對一個數據集(由鍵/值對組成)的計算,該計算由mapreduce兩部分組成。

 

簡而言之,Hadoop提供了一個可靠的共享存儲和分析系統。HDFS實現存儲,而MapReduce實現分析處理。這兩部分是Hadoop的核心。

 

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