千家信息网

HBase数据模型的概念是什么

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"HBase数据模型的概念是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"HBase数据模型的概念是什么"吧!简介:HBase(Had
千家信息网最后更新 2025年01月24日HBase数据模型的概念是什么

本篇内容主要讲解"HBase数据模型的概念是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"HBase数据模型的概念是什么"吧!

简介:

HBase(Hadoop Database):一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价的PC Server上搭建起大规模机构化存储集群。

HBase是一个山寨版本的BigTable,不过它站在Hadoop这个巨人的肩膀上!

HBase是一个非关系型数据库(NoSQL数据库)

NoSQL关系型数据库
数据模型适合结构化、非结构化和半结构化的数据适用于结构化的数据
扩展性易于扩展,如添加节点以及扩容较难
语言不同数据库操作不同标准SQL或类SQL
模式Schema随时添加字段必须预先定义好,不方便扩展

HBase以表的形式存储数据

表的特点:

  • 大:一个表可以有上亿行,上百万列

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

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

下图是Hadoop生态系统:

HBase位于结构化存储层;

Hadoop HDFS为HBase提供了高可靠性的底层存储支持

Hadoop MapReduce为HBase提供了高性能的计算能力

Zookeeper为HBase提供了稳定服务和failover机制

此为,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变得非常简单。Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库向HBase中迁移变的非常方便。

数据模型的关键概念:

  • RowKey:用来检索记录的主键。访问HTable中的行,只有三种方式:

    • 通过单个rowkey访问

    • 通过rowkey的range

    • 全表扫描

  • Qualifier:可动态扩展的列,不需要先定义到HTable schema中,类似于关系型数据库中的列(Column)

  • Famliy:列族,相当于一个Family下面有多个Qualifier。TTL(留存期),Versions(最大版本数),Comperssion(压缩方式)等待都是设置在这一级。

  • Version/Timestamp:由单一rowkey对应family:qualifier下的值可以允许有多个版本,由毫秒级的时间戳来区分,也可以制定范围取任意版本对应的数据

  • Cell:存储的最小单位。由rowkey+family:qualifier+timestamp三个维度唯一确定取出value

  • Namespace:表命名空间,不指定则为默认"default"空间

HTable系统表:

hbase:namespace:存储htable的各表的命名空间

hbase:meta:存储htable的各个region起止rowkey信息,位置信息等

hbase:ad:记录一些表操作权限的信息,支持到qualifier的ACL,权限分类READ('R'),WRITE('W'),EXEC('X'),CREATE('C'),ADMIN('A')

HBase存储框架:

  • Zookeeper:HBase集群依赖该组件

    • Zookeeper Quorum存储-ROOT-表地址、HMaster地址

    • HRegionServer把自己以Ephedral方式注册到Zookeeper中,HMaster随时感知各个HregionServer的健康情况

  • HMaster:主要负责Table和Region的管理工作

    • 管理用户对表的增删查改操作

    • 管理HRegionServer的负载均衡,调整Region分布

    • Region Split后,负责新Region的分布

    • 在HRegionServer停机后,负责失效HRegionServer上Region迁移

  • HRegionServer:最核心的模块,主要负责相应用户I/O请求,向HDFS文件系统中读写数据

    • HRegionServer管理一些列HRegion对象

    • 每个HRegion对应Table中一个Region,HRegion由多个HStore组成

    • 每个HStore对应Table中一个Column Family的存储

    • Column Family就是一个集中的存储单元,故将具有相同IO特性的Column放在一个Column Family会更高效

  • Region:当Table随着记录数不断增加而变大后,会逐渐分裂成多份splits,成为regions,一个region由[startkey,endkey)表示,不同的region会被Master分配给相应的RegionServer进行管理

  • HStore:HBase存储的核心。由MemStore和StoreFile组成,MemStore是Sorted Memory Buffer

  • HLog:在分布式系统环境中,无法避免系统出错或者宕机,一旦HRegionServer意外退出,MemStore中的内存数据就会丢失,为防止数据丢失,引入了HLog。

    每次用户操作写入Memstore的同时,也会写一份数据到HLog文件,HLog文件定期会滚动出新,并删除旧的文件(已持久化到StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过Zookeeper感知,HMaster首先处理遗留的HLog文件,将不同region的log数据拆分,分别放到相应region目录下,然后再将失效的region重新分配,领取到这些region的HRegionServer在Load Region的过程中,会发现有历史HLog需要处理,因此会Replay HLog中的数据到MemStore中,然后flush到StoreFiles,完成数据恢复。

  • HDFS:HDFS是一个分布式文件系统。它通过将一个大的文件划分成一个个固定大小的Block来实现分布式存储。每一个Block的默认大小为128MB。每一个Block都存在多个备份,并且被部署在不同的数据节点上,来保障数据的安全。目前,HBase的所有底层数据都以文件的形式交由HDFS来存储。HBase一侧本身不固化保存数据信息

到此,相信大家对"HBase数据模型的概念是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 存储 文件 系统 数据库 模型 不同 结构 管理 结构化 概念 信息 分布式 多个 版本 空间 方式 权限 用户 处理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 四川省巴中市青少年网络安全竞赛 数据库怎么修改查询数据 政府网络安全值班制度 网络安全法什么时候起实施 珠海服务软件开发热线 顺义区综合软件开发介绍 hpdl380g8服务器 数据库查看索引的语句 数据库查询别名的好处 数据库视频入门 会计软件开发方法的原型法 sql添加数据库失败 对网络技术的看法 如何自学成为软件开发者 永济软件开发系统 数据通信网络技术判断题 浙江网络软件开发定制招商加盟 北京交大网络技术 应用软件开发毕业证书 武汉大学国家网络安全学院 湖北应用软件开发要多少钱 保山学院计算机网络技术学些什么 计算机与网络技术应用培训 数据库中查询的数据源是什么 深空之眼有什么服务器 来安软件开发项目管理 腾讯云购买服务器后怎么退款 深圳市软件开发行业增值税率 网络安全简报学校 泛微网络安全工程师
0