1. 程式人生 > >大資料研發(2Hbase)2.1:hbase和傳統資料庫的區別

大資料研發(2Hbase)2.1:hbase和傳統資料庫的區別

1.hbase

①hbase是一個面向列儲存的分散式儲存系統,可以實現高效能的併發讀寫操作,對資料進行透明的切分。

②hbase有兩個主要概念,row key(行健),column family(列簇)。每個列簇包含多個列。row key 是hbase中記錄的唯一標識。

③hbase中列可以動態增加。eg:定義user表,然後定義info列簇,user資料可以分為info: name,info: age。如果以後要增加屬性,只需info: 新屬性,即可 。

④表的某一列為空,不儲存,大大節約空間

⑤hbase不支援條件查詢以及order by等操作,記錄按照row key來排序

優點

一。列動態增加,且列為空就不儲存資料,節約空間

二。自動切分資料,資料儲存具有水平伸縮性。

三。提高高併發的讀寫操作。

缺點

一。不支援條件查詢,智慧按照row key進行查詢。

2.傳統資料庫

①按行儲存,列固定,列的屬性不能動態增加。

3.區別:

①資料型別:Hbase只有簡單的字元型別,關係型資料庫有著豐富的型別的儲存方式。

②資料操作:hbase操作簡單,插入,刪除,查詢,清空等,表與表之間是分離的;關係型資料庫有複雜的表連線。

③儲存模式:Hbase基於列,且不同列簇的檔案是分離的;關係型資料庫基於表結構儲存。

④資料維護:Hbase更新是插入新的資料,關係型資料庫的更新是替換修改。

⑤可伸縮性。

4.hbase的建立,插入,刪除

一個row key可以對應多個列。

①建立表

create '表名','列簇'

②插入資料(插入一列,即插入一條記錄)

put '表明','row key','列簇:列名','值'

此時表含有四個欄位,row key,列簇下的列名,時間戳,列的值

③刪除列

delete '表名','row key','列簇:列名'

④刪除記錄

delete '表名','row key'

 以下為表的結構:一個row key對應一條記錄