HBase从入门到精通11:HBase数据保存过程和Region分裂

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase从入门到精通11:HBase数据保存过程和Region分裂相关的知识,希望对你有一定的参考价值。

参考技术A 本节来介绍一下HBase的数据保存过程和Region分裂过程的相关知识。

HBase中表的数据是存储在RegionServer上的一个个Region中的,表的一个列族对应于一个Region。Region是按照数据行键Rowkey的字典序来存储数据的。假如我们有一张表Bigdata,该表有一个列族Info,该列族下有一个列Name,且为了便于说明,假设行键和Name相同,按照行键字典序保存数据的过程如下图所示:

HBase保存数据的流程有以下几个步骤:

HBase表的列族在创建之初只有一个Region,随着插入数据的增多Region变得越来越大。过大的Region使得查询效率降低,因此当Region的大小超过某一阈值时,HBase将执行Region的分裂操作:即将一个大Region拆分成两个相等规模的小Region。具体的Region分裂过程如下图所示:

HBase的Region分裂过程需要注意以下几个问题:

虽然Region分裂后可以提高HBase的读写性能,但是Region分裂过程会对集群网络造成很大的压力,尤其是要分裂的Region尺寸过大、数目过多时,甚至可以使整个集群瘫痪。例如,当年京东的Region分裂事件,造成整个集群瘫痪9个小时以上,无法对外提供服务,经济损失可想而知。

因此,应该根据实际需求将Region分裂的阈值设置的合理一些,太小会频繁触发分裂,太大分裂时会对网络传输造成一定的压力。

以上是关于HBase从入门到精通11:HBase数据保存过程和Region分裂的主要内容,如果未能解决你的问题,请参考以下文章

HBase社区|Apache HBase从入门到精通

HBase从入门到精通系列:误删数据如何抢救?

phoenix从入门到精通

phoenix从入门到精通

Hbase从入门到精通,精心整理的学习笔记,自学党快来瞅一瞅,赶紧收藏吧!

大数据之HBase入门