由Hregion服务器集群和Hmaster主服务器构成HBase的服务体系结构,
1,Hregion:通常情况下每个表被拆分成很多个块,其中的每一块就是Hregion,一张表保存在多个Hregion中,每个Hregion保存某段连续的数据,从开始主键(startRow)到结束主键(endRow)
通过Hregion从Hadoop的分布式文件系统上数据
2,Hmemcache:内存中的缓存,保存着最近更新的数据,如果Hmemcache没有数据,将从hstores获取磁盘上的数据,每个列簇会有一个hstore集合,每个集合包含多个Hstorefiles文件(b+数结构)
3,Hlog:磁盘上的操作记录文件,记录这所有的更新操作,数据写入Hlog后,commit()调用才会返回给客户端。
数据的更新操作最先被记录在Hmemcache和Hlog中
4,Hregion定期调用flushcache()缓存里的内容写入到文件中,每次调用产生一个新的文件Hstorefile文件,从一个hstore或数据会访问所有的Hstotefile,很耗时吧
hstore.compact可以完成小文件到达文件的合并