HBase資料結構

2021-10-04 07:58:46 字數 1695 閱讀 8122

先觀察表中資料

hbase中儲存資料時hbase行鍵是網域名稱倒置的命名方式,時間戳則為當前時間,有不用的時間戳,在冒號之前就是列簇的名字,但是並不是每行資料的時間戳是相同的。這裡體現出hbase在儲存資料的時候可以做到不儲存某個屬性的資料(在關係型資料中建立表之後,即使該屬性沒有資料也需要顯示為null),這就是hbase表儲存稀疏的特點。

hbase資料結構設計到四個名詞:

rowkeycolumn familycelltimestamps

rowkey(行鍵)

行鍵是用來檢索記錄的主鍵

與nosql資料庫一樣,row key就是用來檢索記錄的主鍵,訪問hbase中的行,只有三種方式:

通過單個rowkey訪問。通過rowkey的range(正規表示式)全表掃瞄

**==rowkey可以是任意字串(最大長度為64kb),在hbase內部,rowkey儲存為位元組陣列。儲存時,資料按照rowkey的位元組順序(byte

order)排序儲存。設計rowkey時,要充分考慮排序儲存這個特性,將經常一起讀取的行(io特性相似的行)儲存到一起(位置相關性)。 **

column family(列簇)hbase表中的每個列,都歸屬於某個列簇,其實就是列的集合。列簇是表的schema的一部分(列不是),必須在使用表之前定義。列名都已列簇作為字首。

cell(無型別位元組碼)

由rowkey,column family,columb(值),bersion組成的唯一單元,值得注意是這裡的cell並不單單指當前列簇的值,而是指好幾個屬性加在一起所表示唯一的值。cell中的資料是沒有型別的,都是位元組碼形式儲存。

hbase和關係型資料庫區別:資料庫型別:hbase中的資料都是字串型別(string)資料。

操作:hbase只有普通的增刪改查等操作,沒有表之前的關聯查詢。

儲存模式:hbase是基於列式儲存模式,二rdbms是基於行式儲存。

應用場景:hbase適合儲存大量資料,查詢效率極高。

timestampshbase通過rowkey和columns確定的為乙個儲存單元成為乙個cell。每個cell都儲存著同乙份資料的多個版本。版本通過時間戳來索引。時間戳的型別是64位整數。時間戳可以由hbase(在資料寫入時)自動賦值。時間戳也可以有客戶顯示賦值。如果應用程式要避免資料版本衝突,就必須自己生成具有唯一性的時間戳。每個cell中,不同版本的資料按照時間倒序排序,即最新的資料排在前面。

HBase資料結構

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

HBase學習 三 HBase的資料結構

hbase 資料庫中也有乙個表示唯一的鍵,這個唯一的鍵是 rowkey。rowkey 組成 hbase 中 rowkey 由任意字串組成,組成長度不超過 64kb 在實際應用中長度一般為10 100bytes,一般用到70 100bytes就能滿足需求,在hbase內部,rowkey儲存為位元組陣列...

4 HBase資料結構

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