Hbase数据存储与读写详解
1、HBase的数据存储原理 一个HRegionServer会负责管理很多个region 一个**region*包含很多个store 一个 列族就划分成一个 store** 如果一个表中只有1个列族,那么每一个region中只有一个store 如果一个表中有N个列族,那么每一个region中有N个store 一个store里面只有一个memstore memstore是一块 内存区域 ,写入的数据会先写入memstore进行缓冲,然后再把数据刷到磁盘 一个store里面有很多个 StoreFile , 最后数据是以很多个 HFile 这种数据结构的文件保存在HDFS上 StoreFile是HFile的抽象对象,如果说到StoreFile就等于HFile 每次memstore刷写数据到磁盘,就生成对应的一个新的HFile文件出来 2、HBase数据读流程 说明:HBase集群,只有一张meta表,此表只有一个region,该region数据保存在一个HRegionServer上 1、客户端首先与zk进行连接;从zk找到meta表的region位置,即meta表的数据存储在某一HRegionServer上;客户端与此HRegionServer建立连接,然后读取meta表中的数据;meta表中存储了所有用户表的region信息,我们可以通过 scan 'hbase:meta'