hbase region和meta表的组成

region

region是表数据的一部分,每个region有三个主要要素:

它属于哪张表;

它的startrow;

它的endrow。

meta表

hbase region和meta表的组成_第1张图片

表中的项使用region 名作为键。region名由所属的表名、region的起始行、创建的时间 以及对其整体进行MD5 hash值。
          比如:
               award_week_2013,201311:170100626,1371697714559.f7f37b98c01f68b7b5cc6c1c3734a666
                 |--表名-------------|-----起始行---------|--创建时间戳---|----整体进行MD5 hash 值------------|

(上图表里少了MD5 hash值)
          由此我们联想到 表scan 的过程中如果加了 STARTROW 和 ENDROW 的属性后,查找是很迅速的,就是因为根据给定rowkey从.META.表中 找到所在的region,然后再从 region去查找。

         然后是表中最主要的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访问到的表是存在的。

你可能感兴趣的:(hbase,region和meta表的组成)