HBase基础知识(一):HBase简介、HBase数据模型与基本架构

第1章HBase简介

1.1HBase定义

HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。

1.2HBase数据模型

逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V)来看,HBase更像是一个multi-dimensionalmap

1.2.1HBase逻辑结构

字典序:按位比较。

下图是一张表,但是一张表往往会被切分开来,分配在不同区域。

1.2.2HBase物理存储结构

该数据结构是对上图的store的一个详解

1.2.3数据模型

1)NameSpace

命名空间,类似于关系型数据库的DatabBase(数据库)概念,每个命名空间下有多个表。HBase有两个自带的命名空间,分别是hbase和default,hbase中存放的是HBase内置的表,default表是用户默认使用的命名空间。

2)Region

类似于关系型数据库的表概念。不同的是,HBase定义表时只需要声明列族即可,不需要声明具体的列。这意味着,往HBase写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase能够轻松应对字段变更的场景。

3)Row

HBase表中的每行数据都由一个RowKey和多个Column (列)组成,数据是按照RowKey的字典顺序存储的,并且查询数据时只能根据RowKey进行检索,所以RowKey的设计十分重要。

4)Column

HBase中的每个列都由**ColumnFamily(列族)和ColumnQualifier(列限定符)**进行限定,例如info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。

5)TimeStamp

用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段,其值为写入HBase的时间。

6)Cell

由{rowkey,columnFamily:columnQualifier,timeStamp}唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。

1.3HBase基本架构

不完整版

架构角色:

1)RegionServer

RegionServer为Region的管理者,其实现类为HRegionServer,主要作用如下:对于数据的操作:get,put,delete;对于Region的操作:splitRegion、compactRegion。

2)Master

Master是所有RegionServer的管理者,其实现类为HMaster,主要作用如下:对于表的操作:create,delete,alter对于RegionServer的操作:分配regions到每个RegionServer,监控每个RegionServer的状态,负载均衡和故障转移。

3)Zookeeper

HBase通过Zookeeper来做Master的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等工作。

4)HDFS

HDFS为HBase提供最终的底层数据存储服务,同时为HBase提供高可用的支持。

相关推荐
Irene19911 天前
(AI总结版)梳理WSL安装HBase的完整过程,包括下载、配置、端口绑定、ZooKeeper、Master启动失败等
hbase
Irene19913 天前
HBase rowkey:字节数组(byte[]),不是数字也不是字符串
hbase
Irene19913 天前
HBase 关键字及大小写问题,中文的十六进制编码
hbase
Irene19913 天前
WSL 环境中安装 HBase(前置条件 Hadoop 已安装并正在运行)
hbase
头歌实践平台3 天前
HBase 完全分布式安装(新)
数据库·分布式·hbase
Irene19913 天前
(课堂笔记)HBase(分布式、面向列的 NoSQL 数据库)基础
hbase
Irene19913 天前
HBase 典型应用场景与阿里实践
hbase
大帅点兵4 天前
设计一个金融交易监控系统
大数据·clickhouse·flink·spark·kafka·hbase
abcy0712134 天前
HBase Region数据恢复详解
hbase
abcy0712134 天前
RegionServer 自动重启原因详解
hbase