HBase介紹

一、hbase應用場景

  • 海量數據存儲,上百億行×上百萬列,關係型數據庫一般最多30個列,單表五百萬

  • 準實時查詢,上百億行×上百萬列情況百毫秒

  • 上百萬行數據沒必要放在hbase

  • 舉例說明實際業務場景中的應用:交通GPS信息、移動電話信息、金融、電商

二、hbase的特點

  • 容量大:hbase單表可以百億行、百萬列,數據矩陣橫向和縱向亮給維度所支持的數據兩級都非常具有彈性;

  • 面向列:hbase是面向列的存儲和權限控制,並支持獨立檢索。列式存儲,其數據在表中是按照某列存儲的,這樣在查詢只需要少數幾個字段的時候,能大大減少讀取的數據量;

  • 多版本:hbase每列的數據存儲有多個版本version;

  • 稀疏性:爲空的列並不佔用存儲空間,表可以設計的非常稀疏;

  • 擴展性:底層依賴於HDFS,增加節點;

  • 高可靠性:WAL機制保證了數據寫入時不會因集羣異常而導致寫入數據丟失:Replication機制保證了在集羣出現嚴重的問題時,數據不會發生丟失或損壞。而且HBase底層使用HDFS HDFS本身也有備份;

  • 高性能:底層LSM數據結構和Rowkey有序排列等架構上的獨特設計,使得hbase具有非常高的寫入性能。region切分、主鍵索引和緩存機制使得hbase在海量數據下具備一定的隨機讀取性能,該性能針對Rowkey的查詢能達到毫秒級別。

三、hbase架構體系與設計模型

Column Family 列簇

表創建的時候,先建列簇,插入數據時動態增加列

  1. 一張表不會超過5個列簇

  2. 每個列簇的列數沒有限制

  3. 列只有插入數據後存在

  4. 列在列簇中是有序的

四、hbase對比mysql等關係型數據庫

  • hbase支持列動態增加

  • hbase支持數據自動切分

  • hbase支持高併發讀寫

  • hbase不支持條件查詢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章