Hadoop從存儲上來講,是相似於冗餘磁盤陣列(RAID)的存儲方式,將數據分散存儲並提供以提供吞吐量,它的存儲系統就是HDFS(Hadoop Distuibute Fils System);從計算上來講,它經過MapReduce模型,將大數據的計算分發到多臺計算機上完成,再將結果合併,減小計算的時間。 node
Hadoop適合於: oop
一、超大數據的計算; 大數據
二、一次寫入、屢次讀取的模式; 優化
三、能夠跑在普通的硬件上。 ui
Hadoop不適合: 搜索引擎
一、低延遲的數據訪問,它是爲高數據吞吐量應用優化的; spa
若要處理一些用戶要求時間比較短的低延遲應用請求,HDFS不適合。它是爲了處理大型數據集分析任務的,主要是爲達到高的數據吞吐量而設計的。這就可能要求以高延遲做爲代價【以時間來換取空間】。目前補充的方案是:使用HBase,經過上層數據管理項目來儘量彌補這個不足。 設計
二、大量的小文件 索引
Hadoop客戶端須要和namenode進行交互,而namenode中存放的是datanode的文件屬性,且都是在內存中,若是小文件過多,namenode是存放不了的; 內存
三、多用戶寫入,任意修改文件。
Hadoop適合於一次計算,屢次讀取的場景,如搜索引擎,只支持隨機讀取不支持隨機寫入,如Hadoop和Lucene的集成就不可以直接集成,由於Lucene支持隨機寫入。