栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

HBASE写流程

HBASE写流程

目录
  • region
  • meta表
  • MemStore
  • store
  • HFile
  • Hbase写文件流程
  • 读流程

region

当Region服务器收到写请求的时候,Region服务器会将请求转至相应的Region。

  1. 数据写入到Memstore
  2. Memstore到达一定的阀值的时候,完成对数据的排序
  3. 按照顺序将Memstore中的数据持久化到HFile中
meta表

为了定位每个Region所在的位置,就可以构建一张映射表,映射表的每行包含两项内容,一个是Region标识,一个是RegionServer标识等信息,这行就表示Region和Region服务器之间的对应关系,从而就可以知道某个Region被保存在哪个Region服务器中。

MemStore

当Region服务器收到写请求的时候,Region服务器会将请求转至相应的Region。
数据首先写入到Memstore,然后当Memstore到达一定的阀值的时候,完成对数据的排序,然后按照顺序将Memstore中的数据持久化到HFile中。
Memstore存储了最近插入的数据,检索近期插入的数据时,速度相当快,检索时间久的磁盘数据时,速度就会慢些。

store

Store是存储数据的核心,存储的是同一个列族下的数据,每个Store包含有一块MemStore和0个或多个StoreFile。StoreFile是Hbase中最小的数据存储单元。

用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile), 当StoreFile文件数量增长到一定阈值,会触发Compaction合并操作。

HFile

HFile里面的每个键值对就是一个简单的byte数组。但是这个byte数组里面包含了很多项,并且有固定的结构。

Hbase写文件流程

客户端首先访问zookeeper,从meta表得到写入数据对应的region信息和相应的region服务器。
找到相应的region服务器,把数据分别写到HLog和MemStore上一份。
MemStore达到阈值后则把数据刷成一个StoreFile文件。(若MemStore中的数据有丢失,则可以从HLog上恢复)。
当StoreFile文件达到一定的数量后,会触发Compact合并操作,合并为一个StoreFile
当Storefile大小超过一定阈值后,会把当前的Storefile分割为两个(Split分裂)

读流程

客户端先访问zookeeper,从meta表读取Region的信息对应的服务器。
客户端向对应Region服务器发送读取数据的请求,Region接收请求后,先从MemStore找数据,如果没有,再到StoreFile上读取,然后将数据返回给客户端。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号