分布式开源数据库HBase入门介绍

 

https://blog.csdn.net/aa_maple/article/details/51697412

.技术特点
 1)大表:一个表可以有上亿行,上百万列,提供海量数据存储能力,可提供高达几百亿条数据记录存储能力;
 2)列式存储:面向列族(Column Family)的存储和权限控制,列族独立检索;
 3)表数据是稀疏的多维映射表。表中的数据通过一个行关键字(row key)、一个列关键字(column key)以及一个时间戳(time stamp)进行索引和查询定位,通过时间戳允许数据有多个版本;
4)NoSQL的典型代表产品。适合于非结构化数据存储的数据库。

 

注:Hbase在物理实现上并不存在传统数据库的二维表的概念。因此,二维表中字段值的空洞,对于Hbase在物理实现上是不存在的,而不是所谓的值为null.
稀疏:指一个行,一般来说只是在某个列族上存在值,而在其他列族上不存在值。

HBase表是一个分布式多维表,表中的数据通过一个行关键字(row key)、一个列族和列名(column family,column name)和一个时间戳(time stamp)进行索引和查询定位

 

 HBase基本架构

 

 

1.Hbase集群中有四种角色
Master、Region Server、client、Zookeeper。

Hbase Master :是Hbase集群的主控制服务器,负责集群状态的管理维护。
Master:可以有多个,但只有一个是活跃的。
Region Server: 是HBase具体对外提供服务的进程。一个Region Server一般是一台单独的计算机,即一个物理节点。
Zookeeper:分布式协调服务器。Zookeeper用以提供可靠的锁服务,并提供可靠的状态数据小文件的读写。Zookeeper保证了集群中所有的机器看到是视图是一致的。HBase使用Zookeeper服务来进行结点的管理以及表数据的定位。
(注:一个物理节点一般只运行一个Region Server,但是它可以管理很多的实例(Region),一个Region Server上的Region可以是来自于不同的表。)

 

几种角色的具体职责

 

Client
1 )包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如region的位置信息。
Zookeeper
1) 保证任何时候,集群中只有一个master;
2 )存储所有Region的寻址入口;
3 )实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master;
4 )存储Hbase的schema,包括有哪些table,每个table有哪些column family

 

Master
1) 为Region server分配region;
2 )负责region server的负载均衡;
3 )发现失效的region server并重新分配其上的region;
4 )HDFS上的垃圾文件回收;
5 )处理schema更新请求。
Region Server
1 )Region server维护Master分配给它的region,处理对这些region的IO请求;
2 )Region server负责切分在运行过程中变得过大的region;

 

可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问region server),master仅仅维护者table和region的元数据信息,负载很低。

 

posted @ 2019-11-20 09:27  再见傅里叶  阅读(250)  评论(0编辑  收藏  举报