選擇Hadoop的原因最重要的就是這三點:1,可以解決問題; 2,成本低 ; 3,成熟的生態圈。
一,Hadoop説明我們解決了什麼問題
無論國內還是國外的大公司對於資料都有著無窮無盡的渴望,都會想盡一切辦法收集一切資料,
因為通過資訊的不對稱性可以不斷變現,而大量的資訊是可以通過資料分析得到的。
資料的來源途徑非常的多,資料的格式也越來越多越來越複雜,隨著時間的推移資料量也越來越大。
因此在資料的存儲和基於資料之上的計算上傳統資料庫很快趨於瓶頸。
而Hadoop正是為了解決了這樣的問題而誕生的。 其底層的分散式檔案系統具有高拓展性,通過資料冗余保證資料不丟失和提交計算效率,同時可以存儲各種格式的資料。
同時其還支援多種計算框架,既可以進行離線計算也可以進行線上即時計算。
二,為什麼成本可以控制的低
確定可以解決我們遇到的問題之後,那就必須考慮下成本問題了。
1, 硬體成本
Hadoop是架構在廉價的硬體伺服器上,不需要非常昂貴的硬體做支撐
2, 軟體成本
開源的產品,免費的,基於開源協定,可以自由修改,可控性更大
3,開發成本
因為屬於二次開發,同時因為有非常活躍的社區討論,對開發人員的能力要求相對不高,工程師的學習成本也並不高
4,維護成本
當集群規模非常大時,開發成本和維護成本會凸顯出來。 但是相對於自研系統來說的話,還是便宜的很多。
某司自研同類系統幾百名工程師近4年的投入,燒錢億計,都尚未替換掉Hadoop。
5,其他成本
如系統的安全性,社區版本升級頻繁而現實是無法同步進行升級所引入的其他隱形成本。
三, 成熟的生態圈有什麼好處
成熟的生態圈代表的未來的發展方向,代表著美好的市場前景,代表著更有錢途的一份工作(好吧,「三個代表」).
看圖(引自:Hadoop Ecosystem Map ? myNoSQL)
部分系統歸類:
部署,配置和監控 Ambari,Whirr
監控管理工具 Hue, karmasphere, eclipse plugin, cacti, ganglia
資料序列化處理與任務調度 Avro, Zookeeper
資料收集 Fuse,Webdav, Chukwa, Flume, Scribe , Nutch
資料存儲 HDFS
類SQL查詢資料倉儲 Hive
流式資料處理 Pig
平行計算框架 MapReduce, Tez
資料採礦和機器學習 Mahout
列式存儲線上資料庫 HBase
元資料中心 HCatalog (可以和Pig,Hive ,MapReduce等結合使用)
工作流控制 Oozie,Cascading
資料導入匯出到關係資料庫 Sqoop,Flume, Hiho
資料視覺化 drilldown,Intellicus
使用到的公司也非常的多
(引自: A New Version of the Hadoop Ecosystem Map)