HDFS
Hadoop文件分發系統 ( Hadoop Distributed File System (HDFS) )和Hadoop數據庫(HBase)是大數據生態系統的關鍵組成部分。本文將使用兩者最常被使用的實例來解釋兩者的不同。
隨着數據量從GB (2的30次方byte) 急速增長到ZB (2的70次方byte), 人們需要更加高效、有序的儲存與處理文件系統。這個需求造就了Hadoop,讓它成為公眾眼里的一顆明星。HDFS和Hbase成為了市場上最為高級和火熱的文件管理與儲存系統。
HDFS和Hbase究竟是什么?
HDFS容錯率很高,即便是在系統崩潰的情況下,也能夠在節點之間快速傳輸數據。HBase是非關系數據庫,是開源的Not-Only-SQL數據庫,它的運行建立在Hadoop上。HBase依賴於CAP定理(Consistency, Availability, and Partition Tolerance)中的CP項。
HDFS最適於執行批次分析。然而,它最大的缺點是無法執行實時分析,而實時分析是信息科技行業的標配。HBase能夠處理大規模數據,它不適於批次分析,但它可以向Hadoop實時地調用數據。
HDFS和HBase都可以處理結構、半結構和非結構數據。因為HDFS建立在舊的MapReduce框架上,所以它缺乏內存引擎,數據分析速度較慢。相反,HBase使用了內存引擎,大大提高了數據的讀寫速度。
HDFS執行的數據分析過程是透明的。HBase與之相反,因為其結構基於NoSQL,它通過在不同的關鍵字下進行排序而獲取數據。
通過實例來加強對HDFS和HBase的理解
實例1
Cloudera對歐洲銀行使用HBase的過程進行優化
HBase是實時數據處理環境的最佳典范。我們的一個客戶是某歐洲著名銀行,下面要舉的就是這個客戶的例子,恰到好處的說明了問題。我們同時使用了Apache Storm和Apache Hbase,來分析應用服務器和網頁服務器上的日志數據,想以此得到一些新發現。因為單位時間內我們需要處理大量的數據,所以我們最終決定使用HBase而不是HDFS。HDFS不能處理高速流動的數據。結果令人震驚,搜索時間從3天變成了3分鍾。
實例2
使用HDFS和MapReduce作為全球快速消費品巨頭的分析方案
我們的一位客戶是全球飲料業巨頭,它要求我們做一些批次分析,這些分析必須精確到某一特定倉庫的進出量。分析中需要使用一些迭代分析和序列分析。HDFS和MapReduce就很適應這種工作需求,表現要比建立在HBase上的Hive要好。MapReduce解決數據預處理,將數據准備好作下一步的分析。之后Hive接管任務,去做顧客分析。結果非常好,出顧客分析報告的時間由3天縮短為3小時。
HDFS 和 HBase 比較表格