HBase 基础结构
创始人
2025-02-10 22:05:42
0

HBase 是一个分布式[集群]、可扩展[动态上下线]、支持海量存储的 NoSQL 数据库。相当于 BigTable,负责海量数据的存储。如果数据量小的时候不适合使用 HBase,因为生产上需要不断的切分和合并比较消耗资源。如果数据量比较大,可以做到几十亿条数据秒级查询。支持数据的增删改查,实现了 HDFS 的随机写操作。

一、数据模型

逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional map。下图的整个内容成为一张表。
在这里插入图片描述

【1】行键 RowKey: 是一张表中自动生成的唯一的、且有序的,按照“字典序”进行排序的主键;
【2】列族: 不同的列族放在不同的文件夹中,列族中的列可以有多个或者一个,列可以动态增加;
【3】Region切片: 按照 RowKey 进行切分,如上是按照3个 rowkey 进行划分的。一般是按照数据量进行划分,这样访问时能够提高效率;
【4】store: 实际存储数据的文件,存放在 HDSF。如上表中的数据是放在 6个 store 中;

二、HBase 物理存储结构

在这里插入图片描述

根据每一个列进行存储,例如张三:包含RowKey、ColumnFamily列族、ColumnQualifier列名、TimeStamp时间戳[实现HD 的随机写操作,完全由次属性决定,它优化最大的地方就是时间戳,该属性非常重要,window与Linux 一个用来操作一个用来存放时,需要两个操作系统的时间一定要相同,否则会出现很多问题]、Type类型[Put表示插入]、Value存放的值。当修改一条数据时,其实会添加一条数据与旧数据不同的是时间戳和value,此时,在获取数据的时候,它只会获取时间戳最大的那条数据。当删除一条数据时,也是添加一条数据与旧数据不同的是时间戳和Type,Type类型是 Delete。在获取的时候发现Delete类型的时间戳比 PUT的时间戳大,那就不返回数据。那么旧的数据对用户而言就是垃圾数据了,此时HBase还会存储着,但是最终它还是会从内存中将垃圾干掉的。是在后期表的分合操作的时候删除的。

三、数据模型

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

四、HBase 基本架构

在这里插入图片描述

【1】Region切片需要分在 Region Server[多个,分布式的]上,Region 中包含多个 store[存储实际的数据],刚开始操作的store是在内存中的,最终会在一定数量或时间时会flush到磁盘 storefile;
【2】Region Server 的作用: Data:Get、Put、Delete[Update操作底层是新PUT了一条数据,时间戳和 value 会发生变化,Delete 也是 Put了一条数据,Type是Delete];Region:SplitRegion、CompactRegion。作为 Region 的管理者;
【3】Master: 作为 HBase操作的入口,依赖于ZK来管理集群,HBase 中的操作非常多,因此会将一些任务分配给ZK,当 Master挂掉之后,对数据的增删改查时没有问题的,但是对表级别的增删改查是不能完成的。Master类似于DDL。ZK类似于DML。作用:Table 的 Create,Delete,Alter;RegionServer:分配 Region 到每个 RegionServer,监控每个 RegionServer 的状态,负载均衡和故障转移;
【4】ZK: HBase 通过 ZK来做master的高可用,RegionServer的监控、元数据的入口以及集群配置的维护等工作;
【5】HDFS: HDFS 为 HBase提供最终的底层数据存储服务,同时为 HBase提供高可用的支持;

相关内容

热门资讯

透视实锤!hhpoker免费透... 透视实锤!hhpoker免费透视脚本,wpk真吗,策略教程(有挂解惑)-哔哩哔哩hhpoker免费透...
第四分钟工具!鹰潭至上饶脚本,... 第四分钟工具!鹰潭至上饶脚本,决胜辅助,总是是有挂(存在有挂)-哔哩哔哩1、鹰潭至上饶脚本ai辅助优...
第1分钟解迷!财神13辅助功能... 第1分钟解迷!财神13辅助功能详解(辅助挂)都是是真的挂,科技教程(有挂详情)-哔哩哔哩1、下载好财...
五分钟开挂!胡乐辅助脚本可靠吗... 五分钟开挂!胡乐辅助脚本可靠吗,谁有老友广东辅助器,安装教程-2026最新版本1、五分钟开挂!胡乐辅...
透视好友!哈糖大菠萝免费辅助器... 透视好友!哈糖大菠萝免费辅助器,wepoker模拟器哪个好用,项目教程(有挂方略)-哔哩哔哩透视好友...
第一分钟插件!新道游辅助软件,... 第一分钟插件!新道游辅助软件,菜鸟黑桃a3辅助,果然真的有挂(有挂教学)-哔哩哔哩1、在新道游辅助软...
第六分钟科普!潮汕暗宝辅助器脚... 第六分钟科普!潮汕暗宝辅助器脚本(辅助挂)确实有挂,2025教程(有挂详细)-哔哩哔哩在进入潮汕暗宝...
第9分钟开挂!浙江宝宝游戏辅助... 第9分钟开挂!浙江宝宝游戏辅助下载,心悦踢坑辅助软件,技巧教程-2026最新版本1、让任何用户在无需...
透视安装!菠萝德州透视脚本,w... 透视安装!菠萝德州透视脚本,wepoker国外版透视,妙计教程(有挂实锤)-哔哩哔哩1、点击下载安装...
7分钟脚本!决胜辅助,天酷辅助... 7分钟脚本!决胜辅助,天酷辅助器,原来是有挂(有人有挂)-哔哩哔哩1、超多福利:超高返利,海量正版游...