资讯专栏INFORMATION COLUMN

Hbase基本介绍和读写流程

IT那活儿 / 3256人阅读
Hbase基本介绍和读写流程
一. Hbase介绍

Hbase是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。
HBase 中的表一般有这样的特点:
  • 大:一个表可以有上十亿行,上百万列;

  • 面向列:面向列(族)的存储和权限控制,列(族)独立检索;

  • 稀疏: 对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。


二. Hbase的角色

HBase角色:Hmaster、Regionserver
  • Hmaster作用

Hbase每时每刻只有一个HMaster主服务器程序在运行,HMaster将region分配给RegionServer,协调RegionServer的负载并维护集群的状态,Hmaster不会对外提供数据服务,而是由RegionServer负责所有regions的读写请求及操作。
  • Regionserver作用

负责存储Hbase的实际数据维护HMaster分配给它的Hregion处理对这些HRegion的IO请求,也就是说客户端直接和HRegionServer打交道。


三. Hbase的表结构

  1. HBase Table的组成:
    Table=RowKey(行键)+Family(列族)+Column(列)+Timestamp(版本或时间戳)+Value(值)
  2. Hbase的表按key来进行regions的分区
  3. 某个表的多个regions会分布在不同的regionserver上,以增加查询速度
  4. 为增加写入的性能,hbase表一般会进行预分区。
HBase Table的组成:
Table=RowKey(行键)+Family(列族)+Column(列)+Timestamp(版本或时间戳)+Value(值)
Tips:Hbase表设计不建议使用太多列簇,一般业务建议3个以内为佳。


四. Hbase的读写流程

HBase读流程:

  1. Client客户端先访问zookeeper,获取 meta 表位于哪个Region Server。
  2. 访问meta 表对应的region server服务器,根据请求的信息(namespace,table,rowkey),查询出目标表位于哪个Region Server中的哪个region。并将该表的region信息,以及meta表的位置信息缓存在客户端的缓存中,以便下次访问。
  3. 与目标表所在的region server 进行通讯。
  4. 分别在Block Cache(读缓存),MemStore和 Store File查询目标数据,并将查到的数据进行合并,此处所有数据是指同一条数据的不同版本(time stamp)或者不同的类型。(Put/Delete)
  5. 将从文件中查询到的数据块缓存到block cache。
  6. 将合并后的数据返回给客户端。


HBase写流程:


  1. 客户端先访问zookeeper,获取Meta表位于那个region server。

  2. 访问Meta表对应的region server服务器,根据请求的信息(namespace:table/rowkey),在meta表中查询出目标数据位于哪个region server的哪个region中。并将该表的region信息以及meta表的位置信息缓存到客户端的meta cache,方便下次访问。

  3. 与目标数据的region server进行通讯。

  4. 将数据写入到WAL中。

  5. 将数据写入到对应的memstore中。

  6. 向客户端发送写入成功的信息。

  7. 等达到memstore的刷写时机后,将数据刷写到HFILE中。


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129847.html

相关文章

  • Apache Trafodion技术架构介绍

    摘要:它主要包括以下几部分采用对文本进行文法分析,生成语法树。对语法树进一步进行分析,类似程序编译器的语义分析,对语法合格的进一步进行检查。优化器对语法树应用各种规则,生成不同的执行计划,形成一个搜索空间。 Trafodion简介 Trafodion是一个构建在Hadoop/HBase基础之上的关系型数据库,它完全开源免费。Trafodion能够完整地支持ANSI SQL,并且提供ACID事...

    DevYK 评论0 收藏0
  • Apache Trafodion技术架构介绍

    摘要:它主要包括以下几部分采用对文本进行文法分析,生成语法树。对语法树进一步进行分析,类似程序编译器的语义分析,对语法合格的进一步进行检查。优化器对语法树应用各种规则,生成不同的执行计划,形成一个搜索空间。 Trafodion简介 Trafodion是一个构建在Hadoop/HBase基础之上的关系型数据库,它完全开源免费。Trafodion能够完整地支持ANSI SQL,并且提供ACID事...

    zhjx922 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<