1. 程式人生 > >HBase 應用場景

HBase 應用場景

1、半結構化或非結構化資料

對於資料結構欄位不夠確定或雜亂無章很難按一個概念去進行抽取的資料適合用 HBase。而且 HBase 是面向列的,HBase 支援動態增加欄位

2、記錄非常稀疏

RDBMS 的行有多少列是固定的,為 null 的列浪費了儲存空間。而 HBase 為 null 的 Column是不會被儲存的,這樣既節省了空間又提高了讀效能。

3、多版本資料

對於需要儲存變動歷史記錄的資料,使用 HBase 就再合適不過了。HBase 根據 Row key 和Column key 定位到的 Value 可以有任意數量的版本值。

4、超大資料量的隨機、實時讀寫

當資料量越來越大,RDBMS 資料庫撐不住了,就出現了讀寫分離策略,通過一個 Master 專門負責寫操作,多個 Slave 負責讀操作,伺服器成本倍增。隨著壓力增加,Master 撐不住了,這時就要分庫了,把關聯不大的資料分開部署,一些 join 查詢不能用了,需要藉助中間層。隨著資料量的進一步增加,一個表的記錄越來越大,查詢就變得很慢,於是又得搞分表,比如按 ID 取模分成多個表以減少單個表的記錄數。經歷過這些事的人都知道過程是多麼的折騰。採用 HBase 就簡單了,只需要加機器即可,HBase 會自動水平切分擴充套件,跟 Hadoop 的無縫整合保障了其資料可靠性(HDFS)和海量資料分析的高效能(MapReduce)。

5、查詢簡單

不涉及到複雜的 Join 查詢,基於 RowKey 或者 RowKey 的範圍查詢