首页 > 其他分享 >HBase 简介

HBase 简介

时间:2023-01-19 10:03:42浏览次数:39  
标签:info 存储 简介 master HBase 数据 数据模型



1 HBase 定义

Apache HBase 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。

2 HBase 数据模型

HBase 的设计理念依据 Google 的 BigTable 论文,论文中对于数据模型的首句介绍。
Bigtable 是一个 稀疏的、分布式的、持久的

之后对于映射的解释如下:

该映射由行键、列键和时间戳索引;映射中的每个值都是一个未解释的字节数组。

最终 HBase 关于数据模型和 BigTable 的对应关系如下:

HBase 使用与 Bigtable 非常相似的数据模型。用户将数据行存储在带标签的表中。数
据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可
以具有疯狂变化的列。

最终理解 HBase 数据模型的关键在于 稀疏、分布式、多维、排序

2.1 HBase 逻辑结构

HBase 可以用于存储多种结构的数据,以 JSON 为例,存储的数据原貌为:

{
"row_key1":{
"personal_info":{
"name":"zhangsan",
"city":"北京",
"phone":"131********"
},
"office_info":{
"tel":"010-1111111",
"address":"xx区"
}
},
"row_key11":{
"personal_info":{
"city":"上海",
"phone":"132********"
},
"office_info":{
"tel":"010-1111111"
}
},
"row_key2":{
......
}
HBase 逻辑结构

HBase 简介_大数据

2.2 HBase 物理存储结构

物理存储结构即为数据映射关系,而在概念视图的空单元格,底层实际根本不存储。

HBase 物理存储结构

HBase 简介_hbase_02

2.3 数据模型

1)Name Space
命名空间,类似于关系型数据库的 ​​database​​​ 概念,每个命名空间下有多个表。​​HBase​​​ 两
个自带的命名空间,分别是 ​​​hbase​​​ 和 ​​default​​​,​​hbase​​​ 中存放的是 ​​HBase​​​ 内置的表,​​default​​​表是用户默认使用的命名空间。
2)Table
类似于关系型数据库的表概念。不同的是,HBase 定义表时只需要声明列族即可,不需
要声明具体的列。因为数据存储时稀疏的,所有往 HBase 写入数据时,字段可以 动态、按需指定。因此,和关系型数据库相比,HBase 能够轻松应对字段变更的场景。
3)Row
HBase 表中的每行数据都由一个 ​​​RowKey​​​ 和多个 ​​Column​​​(列)组成,数据是按照 RowKey
的字典顺序存储的,并且查询数据时只能根据 RowKey 进行检索,所以 RowKey 的设计十分重
要。
4)Column
HBase 中的每个列都由 ​​​Column Family(列族)​​​和 ​​Column Qualifier(列限定符)​​​进行限
定,例如 info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。
5)Time Stamp
用于标识数据的不同版本(version),每条数据写入时,系统会自动为其加上该字段,
其值为写入 HBase 的时间。
6)Cell
由{rowkey, column Family:column Qualifier, timestamp} 唯一确定的单元。cell 中的数
据全部是字节码形式存贮。

3 HBase 基本架构

HBase 简介_数据_03

架构角色:

1)Master
实现类为 ​​​HMaster​​​,负责监控集群中所有的 RegionServer 实例。主要作用如下:
 (1)管理元数据表格 hbase:meta,接收用户对表格创建修改删除的命令并执行
 (2)监控 region 是否需要进行负载均衡,故障转移和 region 的拆分。
通过启动多个后台线程监控实现上述功能:
 ①LoadBalancer 负载均衡器
 周期性监控 region 分布在 regionServer 上面是否均衡,由参数 hbase.balancer.period 控制周期时间,默认 5 分钟。
 ②CatalogJanitor 元数据管理器
 定期检查和清理 hbase:meta 中的数据。
 ③MasterProcWAL master 预写日志处理器
 把 master 需要执行的任务记录到预写日志 WAL 中,如果 master 宕机,让 backupMaster
读取日志继续干

2)Region Server
Region Server 实现类为 HRegionServer,主要作用如下:
 (1)负责数据 cell 的处理,例如写入数据 put,查询数据 get 等
 (2)拆分合并 region 的实际执行者,有 master 监控,有 regionServer 执行。

3)Zookeeper
 HBase 通过 Zookeeper 来做 master 的高可用、记录 RegionServer 的部署信息、并且存储
有 meta 表的位置信息。
 HBase 对于数据的读写操作时直接访问 Zookeeper 的,在 2.3 版本推出 Master Registry
模式,客户端可以直接访问 master。使用此功能,会加大对 master 的压力,减轻对Zookeeper的压力

4)HDFS
HDFS 为 Hbase 提供最终的底层数据存储服务,同时为 HBase 提供高容错的支持。


标签:info,存储,简介,master,HBase,数据,数据模型
From: https://blog.51cto.com/u_14452299/6019786

相关文章

  • HBASE架构解析
    HBase架构组成HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由一下类型节点组成:HMaster节点、HRegionServer节点、ZooKeeper集群,而在底层,它将数据存储于HDFS中,......
  • JSP简介
    什么是JSPJavaServerPages:java服务器端页面,也和Servlet一样,用于动态Web技术! JSP原理Tomcat文件夹下有个work文件夹,最里面有个.java,的程序。浏览器向服务器发送请......
  • 使用Dapr和.NET 6.0进行微服务实战:Dapr简介
    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。本文是《使用Dapr和.NET6.0进行微服务实战》的第2篇D......
  • SpringCloud-入门简介
    https://www.cnblogs.com/xuwc/p/13995814.html参考:https://www.cnblogs.com/lizm166/p/11156311.htmlhttps://www.cnblogs.com/senlinyang/p/8591294.htmlhttps://zhu......
  • 大数据相关认识,大数据、物联网和云计算之间的关系,hadoop简介
    大数据相关认识说道大数据,谷咕咕就很烦了,因为大学期间,做过爬虫,数据抓取,安装过Hadoop和hive,但是都不知道干嘛的,起码爬虫还知道,通过正则表达式将网页中的有效信息爬取下来。但......
  • 2.Requests【HTTP协议】http协议简介
    一、前言什么是接口?接口就是HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器......
  • Vue简介
             ......
  • perfetto 简介
    转自:https://cloud.tencent.com/developer/article/1905180 1.Recordingsettings录制的设置,主要有三种模式,适合不同的场景。1.1Stopwhenfullin-memorybuffers......
  • Mavne简介与安装
    为什么需要Maven为什么要使用Maven?它能帮助我们解决什么问题?添加第三方jar包在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简......
  • MybatisPlus简介
    介绍​​MyBatis-Plus​​​(简称MP)是一个​​MyBatis​​的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为MyBatis最好的搭......