hbase region和meta表的組成

regionspa

region是表數據的一部分,每一個region有三個主要要素:code

它屬於哪張表;server

它的startrow;hash

它的endrow。it

meta表io

表中的項使用region 名做爲鍵。region名由所屬的表名、region的起始行、建立的時間 以及對其總體進行MD5 hash值。
          好比:
               award_week_2013,201311:170100626,1371697714559.f7f37b98c01f68b7b5cc6c1c3734a666
                 |--表名-------------|-----起始行---------|--建立時間戳---|----總體進行MD5 hash 值------------|meta

(上圖表裏少了MD5 hash值)
          由此咱們聯想到 表scan 的過程當中若是加了 STARTROW 和 ENDROW 的屬性後,查找是很迅速的,就是由於根據給定rowkey從.META.表中 找到所在的region,而後再從 region去查找。im

         而後是表中最主要的Family:info,info裏面包含三個Column:regioninfo, server, serverstartcode。其中regioninfo就是Region的詳細信息,包括StartKey, EndKey 以及每一個Family的信息等等。server存儲的就是管理這個Region的RegionServer的地址。         時間戳

          這個表的值何時會變化?
          當region 進行split、disable、enable、drop或者 balance 致使region從新分配 或者因爲regionserver 掛掉而致使從新分配region時,.META.表的數據會進行及時的更新,
     這樣才能保證根據meta訪問到的表是存在的。數據

相關文章
相關標籤/搜索