hbase伸缩架构
HRegion:数据以 HRegion 为单位进行管理,应用程序通过和 HRegion 通信完成数据通信
HRegionServer:启动、管理HRegion
HRegion如果大小超过阈值与之会分裂为多个HRegion,通过负载均衡策略,在整个集群进行迁移。
HRegion存储一段key范围内的数据。
HMaster:存储HRegion信息,如key区间范围、所在HRegionServer、访问但口号等
hbase数据访问、更新策略
查询流程的时序图如下:
HBase 使用 LSM 树的进行数据存储、更新。这个LSM数给人的感觉分成不通的级别,第一层LSM数是放在内存中的,我们暂且叫它LSM0,当LSM0的大小超过一定阈值,会出发与磁盘中的LSM1进行合并,类似的如果LSM1中的数据超过某个阈值会出发与LSM2的合并…。这样当频繁对一小部分的数据进行更新、查询操纵,基本可以将操作止步与内存操作,还是很快的。