hbase資料模型(入門級)

2021-09-17 23:46:17 字數 1203 閱讀 4677

hbase資料模型(不同於關係型資料庫)*

決定一行資料

按照字典順序排序的。

row key只能儲存64k的位元組資料

column family列族 & qualifier列

hbase表中的每個列都歸屬於某個列族,列族必須作為表模式(schema)定義的一部分預先給出。如 create 『test』, 『course』;

列名以列族作為字首,每個「列族」都可以有多個列成員(column);如course:math, course:english, 新的列族成員(列)可以隨後按需、動態加入;

許可權控制、儲存以及調優都是在列族層面進行的;

hbase把同一列族裡面的資料儲存在同一目錄下,由幾個檔案儲存。

timestamp時間戳

在hbase每個cell儲存單元對同乙份資料有多個版本,根據唯一的時間戳來區分每個版本之間的差異,不同版本的資料按照時間倒序排序,最新的資料版本排在最前面。

時間戳的型別是 64位整型。

時間戳可以由hbase(在資料寫入時自動)賦值,此時時間戳是精確到毫秒的當前系統時間。

時間戳也可以由客戶顯式賦值,如果應用程式要避免資料版本衝突,就必須自己生成具有唯一性的時間戳。

cell單元格

由行和列的座標交叉決定;

單元格是有版本的;

單元格的內容是未解析的位元組陣列;

由 唯一確定的單元。

cell中的資料是沒有型別的,全部是位元組陣列形式存貯。

hlog(wal log)

hlog檔案就是乙個普通的hadoop sequence file,sequence file 的key是hlogkey物件,hlogkey中記錄了寫入資料的歸屬資訊,除了table和region名字外,同時還包括 sequence number和timestamp,timestamp是」 寫入時間」,sequence number的起始值為0,或者是最近一次存入檔案系統中sequence number。

hlog sequecefile的value是hbase的keyvalue物件,即對應hfile中的keyvalue。

hbase資料模型

與nosql資料庫們一樣,rowkey是用來檢索記錄的主鍵。訪問hbase table中的行 訪問方式 a.通過單個row key訪問,b.通過row key的range 正則 c.全表掃瞄,rowkey是任意字串,最大長度 是 64kb,實際應用中長度一般為 10 100bytes,hbase內部...

Hbase資料模型

hbase 以表的形式儲存資料。表由行和列族組成。列劃分為若干個列族 row family 其邏輯檢視如下 幾個關鍵概念 1 行鍵 rowkey 行鍵是位元組陣列,任何字串都可以作為行鍵 表中的行根據行鍵進行排序,資料按照 row key 的位元組序 byte order 排序 儲存 所有對錶的訪問...

hbase資料模型

與nosql資料庫一樣,row key是用來檢索記錄的主鍵。訪問hbase table中的行,只有三種方式 1.通過單個row key訪問 2.通過row key的range 正則 3.全表掃瞄 row key行鍵 row key 可以是任意字串 最大長度 是 64kb,實際應用中長度一般為 10 ...