问CHA:HBase中的数据表是如何进行分区的?
CHAT回复:
在HBase中,数据表是水平分区的。每一个分区被称为一个region。当一个region达到给定的大小限制时,它会被分裂成两个新的region。
因此,随着数据量的增加,HBase自动的对数据进行划分和管理。 HBase中每一个表最开始只有一个 region,随着数据逐渐增加,当数据超过配置的region大小后,则该 region 会自动拆分成两个新的 region。
这样既解决了传统关系型数据库数据量大的时候分表分库、IO等性能瓶颈问题,也让用户专注于业务数据本身,不用关心底层数据存储的问题。
split操作可以手工触发,也可以由系统根据region的大小等信息自动触发。region的分布存储在.hbase:meta表中,ZooKeeper负责协调不同RegionServer之间的region迁移。
到这里,HBase内部通过region实现了横向扩展和负载均衡。
关注我 注册,体验更多精彩