码迷,mamicode.com
首页 > 其他好文 > 详细

hbase数据读写流程

时间:2021-01-18 11:07:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:磁盘   server   读取   ems   base   mes   目的   mem   直接   

hbase写数据流程

  • ?先从 zk找到meta表的region位置,然后读取meta表中的数据,meta表中存储了用户表的region信息
  • 根据namespace、表名和rowkey信息。找到写入数据对应的 region信息
  • 找到这个region对应的regionServer,然后发送请求
  • 把数据分别写到HLog(write ahead log)和memstore各一份
  • memstore达到阈值后把数据刷到磁盘,?成 storeFile文件
  • 删除HLog中的历史数据(已经刷到磁盘的数据)

hbase读数据流程

  • 首先从 zk找到meta表的region位置,然后读取meta表中的数据,meta表中存储了用户表的 region信息

  • 根据要查询的namespace、表名和rowkey信息。找到写入数据对应的 region信息

  • 找到这个region对应的regionServer,然后发送请求

  • 查找对应的region

  • 先从memstore查找数据,如果没有,再从BlockCache上读取

    HBase上Regionserver的内存分为两个部分

    • 一部分作为 Memstore,主要用来写;
    • 另外一部分作为 BlockCache,主要用于读数据;
  • 如果BlockCache中也没有找到,再到StoreFile上进行读取

    从storeFile中读取到数据之后,不是直接把结果数据返回给客户端, 而是把数据先写入到 BlockCache中,目的是为了加快后续的查询;然后再返回结果给客户端。

hbase数据读写流程

标签:磁盘   server   读取   ems   base   mes   目的   mem   直接   

原文地址:https://www.cnblogs.com/kyle-blog/p/14288200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!