1、HBase架构

HBase是一个开源的面向列的分布式数据库,它是基于Apache Hadoop的NoSQL数据库。它支持非常大的数据集,可以容忍硬件故障,且可以提供高吞吐量读取和编写操作。

HBase架构由一个主节点(HMaster)和多个工作节点(RegionServer)组成,它们都是在Hadoop集群上运行的。HMaster负责管理RegionServer,负责分区表,分配RegionServer,监控RegionServer,处理RegionServer的故障,以及其他管理任务。RegionServer负责存储和管理数据,处理客户端的读写请求,以及其他的工作任务。

2、HBase数据存储

HBase使用Hadoop的文件系统(HDFS)作为存储介质,数据以表的形式存储在HDFS文件系统中。表由一个或多个列族组成,每个列族又由一个或多个列组成,每个列存储一个值。表中的每一行都有一个行键,用于唯一标识行。

3、HBase分片

HBase使用分片的方式来存储数据,将表拆分为若干个Region,每个Region由一个或多个表页(HFile)组成,每个表页都有一个表页键,用于唯一标识表页。

每个Region都有一个起始行键和结束行键,用于表示Region的范围,每个Region都由一个RegionServer管理,当表中的数据量增加时,HBase会自动将Region分裂成两个新的Region,以确保Region的大小不超过预设的大小。