HBase:HBase的预分区

为何要预分区?

  • 增加数据读写效率
  • 负载均衡,防止数据倾斜
  • 方便集群容灾调度region
  • 优化Map数量

增加数据读写效率: 默认方式所有数据存在一个节点上,预分区将数据分散到多各节点上。

负载均衡,防止数据倾斜: 数据的rowkey分成多个区间,每个区间就是一个region,数据写入时,写入自己所在的范围的region

方便集群容灾调度region: 将数据分散存储到了多个region中,region的粒度更小

优化Map数量
原始(未使用预分区)的分区(region)是如何实现的??

数据表在创建时,只有一个region,随着数据量的增加,region之间变大,达到阈(10g)值分裂成两个region.
一个region只能在一个regionserver内,此时,数据的读写都依赖于一个节点(或少量的节点)
大量数据的读取都在一个节点。如何优化??
方案:在建表时人为指定这个表含有多个region(不使用默认10G 一分割)。

create 'staff001','info','parti

猜你喜欢

转载自blog.csdn.net/weixin_43563705/article/details/103571357
今日推荐