Region 概念
Region是表获取和分布的基本元素,由每个列族的一个Store组成。对象层级图如下:
Table (HBase table)
Region (Regions for thetable)
Store (Store perColumnFamily for each Region for the table)
MemStore (MemStore for each Store for eachRegion for the table)
StoreFile (StoreFiles for each Store for eachRegion for the table)
Block (Blocks within a StoreFile within a Storefor each Region for the table)
Region 大小
Region的大小是一个棘手的问题,需要考量如下几个因素。
Region是HBase中分布式存储和负载均衡的最小单元。不同Region分布到不同RegionServer上,但并不是存储的最小单元。
Region由一个或者多个Store组成,每个store保存一个columnsfamily,每个Strore又由一个memStore和0至多个StoreFile 组成。memStore存储在内存中, StoreFile存储在HDFS上。
HBase通过将region切分在许多机器上实现分布式。也就是说,你如果有16GB的数据,只分了2个region,你却有20台机器,有18台就浪费了。
region数目太多就会造成性能下降ÿ