HBase資料結構

2021-09-20 12:46:33 字數 1326 閱讀 8157

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

1.通過單個rowkey訪問(get)

2.通過rowkey的range(正則)(like)

3.全表掃瞄(scan)

rowkey行鍵 (rowkey)可以是任意字串(最大長度是64kb,實際應用中長度一般為 10-100bytes),在hbase內部,rowkey儲存為位元組陣列。儲存時,資料按照rowkey的字典序(byte order)排序儲存。設計rowkey時,要充分排序儲存這個特性,將經常一起讀取的行儲存放到一起。(位置相關性)

列族:hbase表中的每個列,都歸屬於某個列族。列族是表的schema的一部 分(而列不是),必須在使用表之前定義。列名都以列族作為字首。例如 courses:history,courses:math都屬於courses 這個列族。

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

關鍵字:無型別、位元組碼

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

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

命名空間的結構:

1) table:表,所有的表都是命名空間的成員,即表必屬於某個命名空間,如果沒有指定,則在default預設的命名空間中。

2) regionserver group乙個命名空間包含了預設的regionserver group。

3) permission許可權,命名空間能夠讓我們來定義訪問控制列表acl(access control list)。例如,建立表,讀取表,刪除,更新等等操作。

4) quota限額,可以強制乙個命名空間可包含的region的數量。

HBase資料結構

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

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,實際應用中長...