HBase的基本介紹

什麼是HBase

Hbase 是建立在hdfs之上的一個數據庫,不支持join等SQL複雜操作.支持的數據類型:byte[],依靠橫向擴展
一個表可以有上十億行,上百萬列。
面向列(族)的存儲和權限控制
對於爲空(null)的列,並不佔用存儲空間,是一個稀疏表。

稀疏的理解:寬鬆;不稠密
舉個最容易理解的例子 “稀疏的像程序員的頭髮”,當然這裏的程序員指的是那些大量用腦的資深程序員。

HBase的適用場景:

海量數據、精確查詢、快速返回

海量數據:指的是數據量的背景
精確查詢:業務場景
快速返回:是業務對時效性的要求

Hbase和Hadoop之間的關係

HDFS
海量數據存儲,適合一次性掃描大量數據。
適合一次寫入多次讀取
不適合頻繁更新的數據

HBASE
不適合一次性掃描大量數據。適用一次掃描少量數據。
適合多次寫入多次讀取
支持數據更新
支持刪除數據

Hbase與RDBMS(關係型數據庫)的關係

RDBMS
支持SQL查詢
支持事務
支持Join

HBASE
不支持SQL查詢
不支持事務
不 支持Join

Hbase特徵簡要說明

1、 海量存儲
Hbase適合存儲PB級別的海量數據,在幾十到百毫秒內返回數據。

2、列式存儲
這裏的列式存儲其實說的是列族存儲列族理論上可以很多,但實際上建議不要超過6個

3、 極易擴展
處理能力(RegionServer)的擴展,一個是基於存儲的擴展(HDFS)
hbase在最初設計的時候就考慮了擴展性。

4、高併發
這裏說的高併發,主要是在併發的情況下,Hbase的單個IO延遲下降並不多

5、稀疏
在列數據爲空的情況下,是不會佔用存儲空間的。

hbase的基礎架構

1、Client
2 、ZOOKEEPER
3 、Master 管理者
4 、Regionserver 工作者

在這裏插入圖片描述

HBase的底層原理
詳細架構
在這裏插入圖片描述

Client:訪問數據的路口

Zookeeper:
1.通過選舉制保證集羣有且只有一個Master
2.監控RegionServer的狀態,並向Master彙報RegionServer的上線和下線報告。
3.保存HBase的schema(元數據)
4.存儲每個Region的尋址入口

Master:
1.分配Region給RegionServer.
2.負責RegionServer的負載均衡。
3.處理schema(元數據)的更新請求
4.發現失效的RegionServer並重新分配其上的Region

RegionServer:
1.維護Master分配的Region ,負責處理Region的IO請求
2. 負責將運行過程中逐漸變大的Region切分

發佈了22 篇原創文章 · 獲贊 124 · 訪問量 2150
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章