【HBase】HBase基本介绍和基础架构


基本介绍

概述

HBase是bigtable的开源java版本,是建立在HDFS之上,提供高可靠性高性能列存储可伸缩实时读写nosql数据库系统,主要用来存储结构化半结构化松散数据
HBase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务)
HBase中支持的数据类型:byte[]
 

特点

1.:一个表可以由上十亿行、上百万列
2.面向列:面向列(族)的存储和权限控制、列(族)独立检索
3.稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计得非常稀疏
 

HBase和Hadoop的关系

HBase和Hadoop是紧耦合的关系HBase依赖于Hadoop
在这里插入图片描述
如果要运行HBase,一定要保证Hadoop的环境正常运行。
从以上表格可以得出HBase适合频繁的读写操作HDFS不适合频繁的读写操作,更适合一次写入多次读取,但HBase的数据都保存在HDFS上,这样的矛盾点该如何解决?
 

RDBMS与HBase的对比

在这里插入图片描述

特征

一、海量数据存储
二、列式存储
三、易于扩展,类似于HDFS,加节点就可以我实现HBase扩展
四、支持客户端访问的高并发操作
五、稀疏表,如果某一列没有值,不占用存储空间


基础架构

在这里插入图片描述

HMaster的功能:
1.监控RegionServer
2.处理RegionServer故障转移
3.处理元数据的变更
4.处理region的分配或移除
5.在空闲时间进行数据的负载均衡
6.通过Zookeeper发布自己的位置给客户端

RegionServer的功能:
1.负责存储HBase的实际数据
2.处理分配给它的Region
3.刷新缓存到HDFS
4.维护HLog
5.执行压缩
6.负责处理Region分片

posted @ 2020-03-25 11:35  _codeRookie  阅读(171)  评论(0编辑  收藏  举报