Hbase数据存储原理和读写数据的流程

1、HBase的数据存储原理

Hbase数据存储原理和读写数据的流程

创新互联建站主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务康马,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

  • 一个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文件出来
      Hbase数据存储原理和读写数据的流程

      2、HBase读数据流程

      Hbase数据存储原理和读写数据的流程
      说明:HBase集群,只有一张meta表,此表只有一个region,该region数据保存在一个HRegionServer上

  • 1、客户端首先与zk进行连接;从zk找到meta表的region位置,即meta表的数据存储在某一HRegionServer上;客户端与此HRegionServer建立连接,然后读取meta表中的数据;meta表中存储了所有用户表的region信息,我们可以通过scan  'hbase:meta'来查看meta表信息
  • 2、根据要查询的namespace、表名和rowkey信息。找到写入数据对应的region信息
  • 3、找到这个region对应的regionServer,然后发送请求
  • 4、查找并定位到对应的region
  • 5、先从memstore查找数据,如果没有,再从BlockCache上读取
    • HBase上Regionserver的内存分为两个部分
    • 一部分作为Memstore,主要用来写;
    • 另外一部分作为BlockCache,主要用于读数据;
  • 6、如果BlockCache中也没有找到,再到StoreFile上进行读取
    • 从storeFile中读取到数据之后,不是直接把结果数据返回给客户端,而是把数据先写入到BlockCache中,目的是为了加快后续的查询;然后在返回结果给客户端。

3. HBase写数据流程

Hbase数据存储原理和读写数据的流程

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

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

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

  • 4、把数据分别写到HLog(write ahead log)和memstore各一份

  • 5、memstore达到阈值后把数据刷到磁盘,生成storeFile文件

  • 6、删除HLog中的历史数据
补充:
HLog(write ahead log):
    也称为WAL意为Write ahead log,类似MySQL中的binlog,用来做灾难恢复时用,HLog记录数据的所有变更,一旦数据修改,就可以从log中进行恢复。

网页题目:Hbase数据存储原理和读写数据的流程
文章地址:https://www.cdcxhl.com/article14/ipeide.html

成都网站建设公司_创新互联,为您提供网站建设外贸网站建设域名注册用户体验移动网站建设云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设