【赵强老师】HBase的体系架构
2021/8/5 15:05:57
本文主要是介绍【赵强老师】HBase的体系架构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、什么是HBase?
HBase是一个基于HDFS之上的分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“BigTable大表”,即:把所有的数据存入一张表中。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
二、HBase的体系架构
HBase是由三种类型的服务器以主从模式构成的。这三种服务器分别是:HBase HMaster,Region server,ZooKeeper。
- HBase HMaster负责Region的分配及数据库的创建和删除等操作。具体来说,HMaster的职责包括:
- HMaster负责region的分配。
- 调控Region server的工作
- 在集群启动的时候分配region,根据恢复服务或者负载均衡的需要重新分配region。
- 监控集群中的Region server的工作状态。
- 管理数据库。提供创建,删除或者更新表格的接口。
- Region server负责数据的读写服务。用户通过沟通Region server来实现对数据的访问。
具体来说,RegionServer上存在若干个Region。HBase中的表是根据row key的值水平分割成所谓的region的。一个region包含表中所有row key位于region的起始键值和结束键值之间的行。每一个region的默认大小为1GB。集群中负责管理Region的结点叫做Region server。Region server负责数据的读写。每一个Region server大约可以管理1000个region。
- ZooKeeper负责维护集群的状态(某台服务器是否在线,服务器之间数据的同步操作及master的选举等)。HBase中ZooKeeper的职责包含:
- 维护HBase服务器是否存活
- 监控HBase服务器是否可访问的状态
- 提供服务器故障/宕机的通知
- 同时还使用一致性算法来保证服务器之间的同步。
- 同时也负责Master选举的工作。
- 需要注意的是要保证良好的一致性及顺利的Master选举,集群中的服务器数目必须是奇数,例如三台或五台。
三、HBase的表结构
每一行有一个RowKey用于唯一地标识和定位行,各行数据按RowKey的字典序排列。其中ImployeeBasicInfoCLF和DetailInfoCLF是两个列族,列族下又有多个具体列。(员工基本信息列族:姓名、年龄。详细信息列族:薪水、角色)。
HBase数据模型
- 命名空间:命名空间是对表的逻辑分组,不同的命名空间类似于关系型数据库中的不同的Database数据库。利用命名空间,在多租户场景下可做到更好的资源和数据隔离。
- 表:对应于关系型数据库中的一张张表,HBase以“表”为单位组织数据,表由多行组成。
- 行:由一个RowKey和多个列族组成,一个行有一个RowKey,用来唯一标示。
- 列族:每一行由若干列族组成,每个列族下可包含多个列,如上ImployeeBasicInfoCLF和DetailInfoCLF即是两个列族。列族是列共性的一些体现。注意:物理上,同一列族的数据存储在一起的。
- 列限定符:列由列族和列限定符唯一指定,像如上的name、age即是ImployeeBasicInfoCLF列族的列限定符。
- 单元格:单元格由RowKey、列族、列限定符唯一定位,单元格之中存放一个值(Value)和一个版本号。
- 时间戳:单元格内不同版本的值按时间倒序排列,最新的数据排在最前面
这篇关于【赵强老师】HBase的体系架构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-1333 张高清大图,带你玩转 KubeSphere 4.1.2 部署与扩展组件安装
- 2024-11-11Spark 新作《循序渐进 Spark 大数据应用开发》简介
- 2024-11-11KubeSphere 社区双周报| 2024.10.25-11.07
- 2024-11-11云原生周刊:Istio 1.24.0 正式发布
- 2024-11-10一个故事,为你理清云开发服务的选择思路
- 2024-11-09Sentinel监控流量资料:新手入门指南
- 2024-11-09Sentinel监控流量资料:新手入门教程
- 2024-11-08阿里云部署方案项目实战:新手入门教程
- 2024-11-08阿里云RDS项目实战教程
- 2024-11-08阿里云部署方案资料详解与实战教程