其他分享
首页 > 其他分享> > hbase基本介绍

hbase基本介绍

作者:互联网

Hbase介绍

hbase基本介绍


一、hbase基本介绍

1、基本概念

是大数据领域里的一个nosql的一个非关系型数据库。hbase是bigtable的开源java版本,是建立在hdfs之上,提供高可靠性,高性能、列存储、可伸缩、实时读写的nosql的数据库系统。他介于nosql和RDBMS之间,仅能通过主键rowkey和主键range来建索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。

主要用来存储结构化和半结构化的松散数据。
结构化数据:类似于mysql的一张表,字段个数确定了,类型也确定了
半结构化数据:类似与json或者xml数据
非结构化数据:类似于音频、视频
hbase查询功能很简单,不支持join等复杂操作,不支持复杂的事物(行级事务)。
hbase支持的数据类型:byte[]
hbase表一般有这样一个特点:

2、hbase和hadoop的关系

hbase和hadoop是紧耦合的关系,hbase依赖于hadoop
hbase都是存储在hdfs上面的
hbase数据库适合频繁的读写操作
hdfs不适合频繁的写入操作,适合一次写入,多次读取
矛盾点:hbase是如何解决的?

3、RDBMS与Hbase的对比

mysql:
结构:

功能:

hbase:
结构:

功能:

4、hbase组件

在这里插入图片描述
Client:
1)使用HBase RPC机制与HMaster和HRegionServer进行通信;
2)Client与HMaster进行通信进行管理类操作;
3)Client与HRegionServer进行数据读写类操作;

HMaster:NAMENODE RESOURCEMANAGER
HMaster 没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper保证总有一个Master在运行。
HMaster主要负责Table和Region的管理工作:
1)管理用户对表的增删改查操作;
2)管理HRegionServer的负载均衡,调整Region分布;
3)Region Split后,负责新Region的分布;
4)在HRegionServer停机后,负责失效HRegionServer上Region 的迁移;

HRegionServer:DATANODE NODEMANAGER
HBase中最核心的模块;
1)维护region,处理对这些region的IO请求;
2)Regionserver负责切分在运行过程中变得过大的region,数据在增删改的时候会越来越大;

HRegion:
HBase使用RowKey将表水平切割成多个HRegion,从HMaster的角度,每个HRegion都纪录了它的StartKey和EndKey(第一个HRegion的StartKey为空,最后一个HRegion的EndKey为空),由于RowKey是排序的,因而Client可以通过HMaster快速的定位每个RowKey在哪个HRegion中。

Zookeeper:
1)ZooKeeper为HBase集群提供协调服务,它管理着HMaster和HRegionServer的状态(available/alive等),并且保证集群中只有一个HMaster,会在它们宕机时通知给HMaster,从而HMaster可以实现HMaster之间的故障转移;
2)实时监控HRegionServer的上线和下线信息,并实时通知给HMaster;
3)存储HBase的Meta Table(hbase:meta)的位置,Meta Table表存储了集群中所有用户HRegion的位置信息,且不能split;
4)Zookeeper的引入使得Master不再是单点故障 HMaster虽然可以开启多个 但是不是越多越好

HRegionServer详解
一个HStore由一个MemStore 和0个或多个StoreFile组成。

MemStore:
是一个写缓存(In Memory Sorted Buffer),所有数据的写在完成WAL日志写后,会 写入MemStore中,由MemStore根据一定的算法将数据Flush到底层HDFS文件中(HFile),通常每个HRegion中的每个 Column Family有一个自己的MemStore。
StoreFile(Hfile):
用于存储HBase的数据(Cell/KeyValue)。在HFile中的数据是按RowKey、Column Family、Column排序,对相同的Cell(即这三个值都一样),则按timestamp倒序排列。
key:<rowkey ,列族,列,时间戳>
value:值

标签:基本,HRegion,HMaster,介绍,HRegionServer,hbase,数据,HBase
来源: https://blog.csdn.net/reyna9511/article/details/115170191