Hbase物理存储原理

存储原理:

Hbase里的一个Table 在行的方向上分割为多个HRegion。
即HBase中一个表的数据会被划分成很多的HRegion,HRegion可以动态扩展并且HBase保证
HRegion的负载均衡。HRegion实际上是行键排序后的按规则分割的连续的存储空间。
Hbase物理存储原理

拆分流程图:

Hregion是按大小分割的,每个表一开始只有一个Hregion,随着数据不断插入表,Hregion不
断增大,当增大到一个阀值的时候,Hregion就会等分两个新的Hregion。当table中的行不断
增多,就会有越来越多的Hregion。

Hbase物理存储原理
一张Hbase表,可能有多个HRegion,每个HRegion达到一定大小(默认是10GB)时,进行分裂。
按照现在主流硬件的配置,每个HRegion的大小可以是1~20GB。这个大小由hbase.hregion.max.filesize指定,默认为10GB。HRegion的拆分和转移是由HBase(HMaster)自动完成的,用户感知不到。
Hregion是Hbase中分布式存储和负载均衡的最小单元
Hbase物理存储原理
HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。
事实上,HRegion由一个或者多个HStore组成,每个Hstore保存一个columns family。
每个HStore又由一个memStore和0至多个StoreFile组成。如图:
Hbase物理存储原理
StoreFile以HFile格式保存在HDFS上。
HRegion是分布式的存储最小单位,StoreFile(Hfile)是存储最小单位。