在《HBase技术简介》中我们知道,HBase中有两个特殊的表:-ROOT-
和.META.
。
由于HBase中的表可能非常大,故HBase会将表按行分成多个region,然后分配到多台RegionServer上。数据访问的整个流程如下图所示:
注意两点:
- Client端在访问数据的过程中并没有涉及到Master节点,也就是说HBase日常的数据操作并不需要Master,不会造成Master的负担。
- 并不是每次数据访问都要执行上面的整个流程,因为很多数据都会被Cache起来。
从存储结构和操作方法的角度来说,-ROOT-
、.META.
与其他表没有任何区别。它们与众不同的地方是HBase用它们来存贮一个重要的系统信息:
- -ROOT-:记录.META.表的Region信息。
- .META.:记录用户表的Region信息。
其中-ROOT-表本身只会有一个region,这样保证了只需要三次跳转,就能定位到任意region,
一、META表结构
在 HBase Shell 里对.META.
表进行 scan 和 describe :
可以看出,.META.
表的结构如