Hbase概述 (2)

HBase是面向列存储的,每个列都单独存储,所以在HBase中列是连续存储的,而行不是。

HBase Shell

HBase提供了交互式命令行工具可以进行创建表、添加数据、扫描数据、删除数据等操作和其他一些管理命令。

四、HBase在集群中的定位

HBase一种是作为存储的分布式文件系统,另一种是作为数据处理模型的MR框架。因为日常开发人员比较熟练的是结构化的数据进行处理,但是在HDFS直接存储的文件往往不具有结构化,所以催生出了HBaseHDFS上的操作。如果需要查询数据,只需要通过键值便可以成功访问。

五、HBase内部存储架构

HBase是由row keycolumn familycolumncell组成,row key确定唯一的一行,column family由若干column组成,column是表的字段,cell存储了实际的值或数据。

六、HBase与Hadoop 1HDFS

* 为分布式存储提供文件系统

针对存储大尺寸的文件进行优化,不需要对HDFS上的文件进行随机读写

* 直接使用文件

* 数据模型不灵活

* 使用文件系统和处理框架

2HBase

* 提供表状的面向列的数据存储

* 针对表状数据的随机读写进行优化

使用key-value操作数据

* 提供灵活的数据模型

使用表状存储,支持MapReduce,依赖HDFS

* 优化了多次读,以及多次写

七、HBase的优缺点 1、优点

* 方便高效的压缩数据

* 支持快速数据检索

* 管理和配置简单,支持横向扩展,所以非常容易扩展

* 聚合查询性能非常高

可高效地进行分区,提供自动分区机制把大的region切分成小的subregion

2、缺点

JOIN以及多表合并数据的查询性能不好

* 更新过程中有大量的写入和删除操作,需要频繁合并和分裂,降低存储效率

* 对关系模型支持不好,分区和索引模式设计比较困难。

八、HBase环境角色 1HMaster 1、功能描述

监控RegionServer

处理RegionServer故障转移

* 处理元数据的变更

处理region的分配或移除

* 在空闲时间进行数据的负载均衡

通过Zookeeper发布自己的位置给客户端

2RegionServer 2.1、功能描述

负责存储HBase的实际数据

处理分配给它的Region

* 刷新缓存到HDFS

维护HLog

* 执行压缩

负责处理Region分片

2.2、内含组件

* Write-Ahead logs

HBase的修改记录,当对HBase读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。如果机器突然原地爆炸,把数据保存在内存中会引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead logfile的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。

* HFile

这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。

* Store

HFile存储在Store中,一个Store对应HBase表中的一个列族

* MemStore

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjdds.html