【HBase三】HBase物理模型

HBase物理存储

  • Table中的所有行都按照row key的字典序排列



 

  • Table 在行的方向上分割为多个Region(意思是一个Region多个行)



 

  • Region按大小分割的(按照rowkey进行划分),每个表开始只有一个region,随着数据增多,region不断增大,当增大到一个阀值的时候,region就会等分会两个新的region,之后会有越来越多的region(这类似于MongoDB的chunk分裂)

 

 

  • Region是HBase中分布式存储和负载均衡的最小单元。不同Region分布到不同RegionServer上。负载均衡指的是如果有的Region Server上有的Region多,而有的Region少,那么会进行负载均衡,

 

Region的概念是逻辑的么?

如果Region是对行的逻辑划分(即Region只是描述了行的一些基本信息,不会存储行的物理数据),那么Region Servers上只是Region的一些元数据信息。如果Region一些行的物理存储,那么Region Servers上会存储Region包含的数据行么?

  • Region虽然是分布式存储的最小单元,但并不是存储的最小单元

        1. Region由一个或者多个Store组成,每个store保存一个columns family(Store是按列存储,因此说,HBase是按列存储)

        2. 每个Strore又由一个memStore和0至多个StoreFile组成

        3. memStore存储在内存中,StoreFile存储在HDFS上

        4. 数据首先写到memStore中,当memStore达到一定的数据量时,数据将flush到StoreFile中,StoreFile是保存在HDFS中的


猜你喜欢

转载自bit1129.iteye.com/blog/2191798