HBase與RDBMS&HDFS對比

在使用Hbase之前,我們來簡單的介紹一下HBase;
Hbase是一種分佈式的列式的存儲系統,和傳統的RDBMS不一樣;
Hbase是一種面向列的數據庫;

那麼什麼是面向列?
座標系大家都知道吧?(不知道請自行百度.哈哈哈哈)幾個座標放在一起可以指定到一個準確的位置;
Hbase中的數據需要通過行鍵(Rowkey以下稱作rk),列族(ColumnFamily以下稱作cf),(Column以下稱作 c),以及版本號(TimeStamp 默認爲時間戳),來確定的;

下面是筆者總結的HBase和RDBMS的區別

比較 RDBMS Hbase
數據構成 行式 面向列族
數據類型 多種類型 String
事務 多行 單行
查詢語言 SQL API
安全性 授權&驗證 高版本中也有
索引 指定列 基於Row_Key
存儲量 TBs ~1PB(只要HDFS足夠)
讀寫速度(s) 千次 百萬次

注:
如果想使用SQL在Hbase中查詢可以使用Phoenix框架
或者使用Hive與Hbase集成,則可以使用一些Hive的手段去查詢

比如現在有兩個人將其記錄到HBase中

RowKey name age tel address
xx1 zhangsan 25 186xxx beijing
xx2 lisi 16 147xxx shanghai

那麼name爲基礎信息將其放進一個Column_Family中basic_info
age tle address 作爲私有信息放進private_info中
id 作爲一個Rowkey
那麼通過

rk + cf + c + time ==> value
#也就像座標一樣
xx1 + basic_info + name + time ==> zhangsan
xx1 + private_info + age +time25

HBase和HDFS的區別

比較 HDFS Hbase
寫入方式 僅能追加 隨機寫入
讀取方式 全表掃描&分區掃描 隨機讀取&小範圍掃描&全表掃描
SQL性能 非常好 比HDFS慢4-5倍
結構化存儲 非常多 列族&列
存儲量 ~PB ~PB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章