學習筆記--Hbase

Hbase是一個開源的非關係型分佈式數據庫屬於Nosql。數據存在HDFS中也可能存在內存中,可以容錯存儲海量稀疏數據。

Hbase的特性:

  • 高可靠
  • 高併發讀寫
  • 面向列
  • 可伸縮
  • 易構建

行存儲  vs  列存儲

  • 行存儲 
  1. 優點:寫入一次性完成,保存數據完整性
  2. 缺點:數據讀取過程中產生冗餘數據,若有少量數據可以忽略
  • 列村塾
  1. 優點:讀取過程,不會產生冗餘數據,特別適合對數據完整性要求不高的大數據領域
  2. 缺點:寫入效率差,保證數據完整性方面差

Hbase數據模型

  • RowKey:表中每條記錄的“主鍵”。例如(a)
  • column  family:列簇,包含一個或者多個相關列。例如(cf1)
  • column  qualifier:子列。例如(bar)
  • timestamp:時間戳,表示一個版本。例如(1368394583)
  • value:相對應的值。例如(7)

三位有序,三級尋址

  • {rowkey => {family => {qualifier => {version => value}}}}

         例如:a:cf1:bar:1368394583:7

Hbase物理模型

  • Hbase一張表由一個或多個Hregion組成
  • 記錄之間按Row Key的字典序排列
  • 一個Region默認10個G
  • 一個Region有一個RegionServer,而一個RegionServer有多個Region

HRegionServer內部管理了一系列的HRegion對象,HRegion是Hbase中分佈式存儲和負載均衡的最小單元

  • 按rowkey可分爲Region -> HRegion -> Region  Servers
  • HRegion按列簇(Column Family) -> 多個HStore
  • HStore -> memstore (默認128M)+ HFiles
  • HFiles -> HDFS

HBase系統架構

  • Client:訪問Hbase的接口,並維護Cache加速Region  Server的訪問
  • Master:負載均衡,分配Region到RegionServer
  • Region Server:維護Region,負責Region的IO請求
  • Zookeeper
  1. 保證集羣中只有一個Master
  2. 存儲所有Region的入口(Root)地址
  3. 實時監控Region Server的上下線信息,並通知Master

Hbase的容錯

Hbase操作

單行操作:PUT,GET,DELETE

多條操作:SCAN

Hbase的讀取過程

Hbase中掃描的順序依次是:BlockCache、MemStore、StoreFile( Hfile )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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