Hbase筆記

hbase是谷歌bigdata論文的一個代碼實現(xiàn),hbase是開源軟件,在大數(shù)據(jù)處理領域應用廣泛。今天樓主先來介紹一些基本原理,后面用工程代碼方式來敘述API的用法。樓主是新手,如有錯誤,歡迎大家指正。

簡介

Hbase(Hadoop database)是一個高可靠性(數(shù)據(jù)存儲在HDFS文件存儲系統(tǒng)上,十分可靠,有機會樓主再寫HDFS的博文)、高性能(傳統(tǒng)單機數(shù)據(jù)庫在數(shù)據(jù)量高于百萬數(shù)量級后性能很差)、面向列、可伸縮實時讀寫的分布式數(shù)據(jù)庫。

hbase主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。

數(shù)據(jù)結(jié)構(gòu)

首先介紹一下基本概念

row key

決定一行數(shù)據(jù);按照字典順序排序,數(shù)據(jù)有結(jié)構(gòu);row key最大為64K(注意只能存儲字節(jié)數(shù)組,要先轉(zhuǎn)換成字節(jié)數(shù)組才能存入hbase)

time stamp 時間戳

hbase每個cell存儲單元對同一份數(shù)據(jù)由多個版本,根據(jù)時間戳來區(qū)分不同版本,不同版本的數(shù)據(jù)按照時間倒序排列,最新的數(shù)據(jù)排在最前面。時間戳是64為整形數(shù)據(jù),在寫入數(shù)據(jù)時自動賦值(用戶也可以自己給時間戳賦值)。hbase并不會存儲每個時間戳的歷史數(shù)據(jù),由用戶設置一個最大版本數(shù)來約束版本的數(shù)量,多余的版本在合并時被刪除。

column family

(新手可以暫時這樣理解:傳統(tǒng)關(guān)系型數(shù)據(jù)庫里面的列的集合就是hbase里面的列族)hbase把同一列族里面的數(shù)據(jù)存在同一目錄下,一個列族可以有多個列成員(eg:course這個列族可以有以下幾列 math、cs

訪問時,列名為:course:math)

cell

由行和列的坐標決定,單元格是有版本的。

Hbase 表結(jié)構(gòu)

Hbase的存儲機制

1、Hbase 表依賴于HDFS,當數(shù)據(jù)到達一個程度則會切分為一個region。

2、一個用戶的數(shù)據(jù)表會被氣氛為很多個region,然后分別存儲到不同的regionserver上。hbase文件在HDFS上落地成HFile 。

3、HMaster 作為hbase 的管理節(jié)點,HMaster 不負責存儲表數(shù)據(jù),只負責管理regionserver的狀態(tài) 和?regionserver 的負載均衡。

Hbase的尋址機制

1、一張龐大的用戶數(shù)據(jù)表,會被分割為若干個region。每一個region會有一個起始行鍵,和結(jié)束行鍵。

2、每個表所屬的主機,每個region的起始結(jié)束行鍵等信息都會被保存到一個系統(tǒng)表MATE中。一個region就在這張系統(tǒng)表MATE中產(chǎn)生一條記錄。

3、其中MATE可能非常龐大,MATE表也是分布式存儲。一定數(shù)據(jù)量也會形成一個region。相當于計算機系統(tǒng)的分級索引。

4、ROOT表將會保存在一臺RegionServer上。并會記錄在Zookeeper中 。

5、需要尋找一張表的內(nèi)容,Zookeeper? =》 ROOT表 =》MATE表??=》 RegionServer中的region


Hbase基本操作:https://blog.csdn.net/vbirdbest/article/details/88236575?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容