Hbase資料模型

2021-09-20 07:33:28 字數 1302 閱讀 3568

hbase 以表的形式儲存資料。表由行和列族組成。列劃分為若干個列族(row family),

其邏輯檢視如下:

幾個關鍵概念:

1) 行鍵(rowkey)

 行鍵是位元組陣列, 任何字串都可以作為行鍵;

 表中的行根據行鍵進行排序,資料按照 row key 的位元組序(byte order)排序

儲存; 所有對錶的訪問都要通過行鍵 (單個 rowkey 訪問,或 rowkey 範圍訪問,

或全表掃瞄)2) 列族(columnfamily)

 cf 必須在表定義時給出

 每個 cf 可以有乙個或多個列成員(columnqualifier),列成員不需要在表定

義時給出,新的列族成員可以隨後按需、動態加入

 資料按 cf 分開儲存,hbase 所謂的列式儲存就是根據 cf 分開儲存(每個

cf 對應乙個 store),這種設計非常適合於資料分析的情形

3) 時間戳(timestamp)

 每個 cell 可能又多個版本,它們之間用時間戳區分

4) 單元格(cell)

 cell 由行鍵,列族:限定符,時間戳唯一決定

 cell 中的資料是沒有型別的,全部以位元組碼形式儲存

5) 區域(region)

 hbase 自動把錶水平(按 row)劃分成多個區域(region),每個 region 會保

存乙個表裡面某段連續的資料;

 每個表一開始只有乙個 region,隨著資料不斷插入表,region 不斷增大,當

增大到乙個閥值的時候,region 就會等分會兩個新的 region;

 當 table 中的行不斷增多,就會有越來越多的 region。這樣一張完整的表被

儲存在多個 region 上。

region 雖然是分布式儲存的最小單元,但並不是儲存的最小單元。region由乙個或者多個 store 組成,每個 store 儲存乙個 columns family;每個strore 又由乙個 memstore 和 0 至多個 storefile 組成,storefile 包含 hfile;memstore 儲存在記憶體中,storefile 儲存在 hdfs 上。

hbase資料模型

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

hbase資料模型

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

HBase二 HBase資料模型

hbase是基於google bigtable模型開發的,典型的key value系統 1.hbase schema可以有多個table 2.每個table可由多個column family組成。3.hbase列族中的列可以隨意定義,因為hbase是無模式的。1.byte array 2.表中每條記...