HBase學習 三 HBase的資料結構

2021-10-25 21:07:18 字數 885 閱讀 5132

hbase 資料庫中也有乙個表示唯一的鍵,這個唯一的鍵是 rowkey。

rowkey 組成:hbase 中 rowkey 由任意字串組成,組成長度不超過 64kb ,在實際應用中長度一般為10-100bytes,一般用到70-100bytes就能滿足需求,在hbase內部,rowkey儲存為位元組陣列。儲存時,資料按照rowkey的字典序(byte order)排序儲存。設計rowkey時,要充分排序儲存這個特性,將經常一起讀取的行儲存放到一起。

hbase 中行的訪問方式有三種:

scan:全表掃瞄

get:通過單個rowkey訪問

like:通過rowkey的range(正則)

列族: hbase 中的每個列,都屬於某乙個列族,列族必須在使用表之前定義,列名都以列族作為字首,例如:『a1:b1』,『a1:b2』,其中列族是 a1 ,而列族的值為 『b1』 和 『b2』

hbase 中的 cell表示的是表中的單元格,由 唯一確定的單元。cell中的資料是沒有型別的,全部是位元組碼形式存貯。

其中 version 就是這個單元格中的 time stamp

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

為了避免資料存在過多版本造成的的管理 (包括存貯和索引)負擔,hbase提供 了兩種資料版本**方式。一是儲存資料的最後n個版本,二是儲存最近一段時間內的版本(比如最近七天)。使用者可以針對每個列族進行設定。

Hbase學習筆記(三)

交流學習 460570824 hbase 設計 hbase 中的每一張表就是所謂的 bigtable。bigtable 會儲存一系列的行記錄,行記錄有三個基本型別的定義 row key time stamp column。row key 是行在 bigtable 中的唯一標識。time stamp ...

HBase學習之HBase的RowKey設計原則

hbase是三維有序儲存的,通過rowkey 行鍵 column key column family和qualifier 和timestamp 時間戳 這個三個維度可以對hbase中的資料進行快速定位。hbase中rowkey可以唯一標識一行記錄,在hbase查詢的時候,有以下幾種方式 通過get方...

Hbase 學習筆記 Hbase 概覽

hbase構建在 hdfs 之上,hbase內部管理的檔案全部儲存在hdfs 中 行鍵,table的主鍵,table中的記錄按照row key排序。型別為byte array 列簇,table在水平方向有乙個或者多個column family組成,乙個column family中可以由任意多個col...