旧版本:
region是HBase架构的关键,大部分的工作都围绕着region展开。在0.96.0版本之前,region的查询通过三层架构来定位:
Region:就是所需要查询的数据具体所在的Region
.META. :元数据表,存储了所有region的简要信息。.META.表中的一行记录就是一个Region,该行记录了该Region的起始行,结束行,和该Region的连接信息,这样客户端就可以通过这个来判断需要的数据在哪个region上。
-ROOT- : 存储.META.表的表,存储了.META.表在什么region上的信息(.META.表也是一张普通的表,也在Region上),通过两层的扩展最多可以支持 2*34 个Region。(171 7986 9184 个)。
旧的寻址方式

1.用户通过查找zookeeper的/hbase/root-region-server节点来得知-root-表在哪个RegionServer上
2.访问-ROOT-表,查看所需要的数据在哪个.META.表上,这个.META.在哪个RegionService上
3.访问.META.表来看你要查询的行键在什么Region范围里面。
4.连接具体的数据所在的Region,用Scan来遍历row
旧版本的弊端:
通过三层架构虽然极大地扩展了

HBase的旧版查询机制通过Region、.META.和(ROOT-)三层架构定位数据,导致代码复杂度增加和维护难度提升。0.96.0版本后,查询架构简化为两层,移除-ROOT-表,直接通过ZooKeeper获取hbase:meta表所在RegionServer,减少了查询步骤并提高了效率。客户端还会缓存meta信息以加速后续操作。
最低0.47元/天 解锁文章
3033

被折叠的 条评论
为什么被折叠?



