HBase读写过程

hbase读的过程:

1、 什么是meta表 meta表是hbase自带的一个表。这里存储的数据是每个region的startkey 和endkey等信息
2、 meta表存在哪里存储在某个regionserver.

读取流程

HBase读写过程

1、 首先Client先去访问zookeeper,从zookeeper里面获取meta表所在的位置信息
2、 Client通过刚才获取到的IP来访问Meta,读取Meta内的数据,
3、 Client通过元数据(meta表内的数据)中存储的信息,找到region在哪个HRegionServer ,访问对应的 HRegionServer读取数据

三步找到原始数据
1、到zookeeper找到meta
2 通过meta找到数据所属的region
3 通过region和regionserver的对应关系,找到regionserver,
最后读取数据

数据的写入

HBase读写过程

1 Client 先访问zookeeper,找到Meta表,并获取Meta表元数据。确定将要写入的数据所对应的HRegion和 HRegionServer服务器。
2 Client向该HRegionServer服务器发起写入数据请求.
3 Client先把数据写入到HLog,以防止数据丢失。 4 然后将数据写入到Memstore。
5 若Memstore达到阈值,会把Memstore中的数据flush到Storefile中
6 Storefile数量达到阈值(默认3个)时,会触发Compact合并操作,把过多的Storefile合并成一个大的Storefile 说明:支持数据更新(伪更新),这里的更新实际上时数据的新添加。