初识HBase

1.1HBase概念

HBase是一个分布式(有角色,搭建集群)面向列数据库

面向行:面向行的特点是,即是某一行的某一列没有存储数据,那么这一列也会占用空间,另外在磁盘的存储上,每一行的各个列的数据也都是顺序存储在一起的。

面向列:每一行的数据可以有不同的列,有多少列就占用多少存储空间,没有的列就不占用存储空间。在磁盘的存储上,是以列族存储的。

HBase与hive的比较

hive数据库分析工具,将元数据存储在mysql中,将业务数据存储在hdfs上

HBase数据库,业务数据也是存储在hdfs的,元数据是由它本身管理的

HBase与mysql相比,具有以下特点

  1. 能存储的数据量大
  2. 读(150w次/s)写(10w次/s)的速度快

1.2HBase的特点

  1. 海量存储

能够处理PB级别的海量数据,并在采用廉价的pc端的情况下,能够在几十到几百毫秒之间返回数据。这一特点与HBase较好的扩展性有很大的联系。

   2.列式存储

这里所说的列式存储就是列族存储,HBase是根据列族来存储数据的。

列族(column family):就是列的分类,列族在创建表的时候必须指定,每一个列族中可以包含多个列,列可以在插入数据的时候指定。

在插入数据时,必须指定行键(rowkey),行键,类似于mysql中的主键,用来表示某条数据的唯一性,相同的行键,就代表是同一条数据。

 3.极易扩展

HBase的扩展主要体现在两个方面:

一个是基于存储的扩展(HDFS)。也就是只要部署的机器多,HDFS存储的数据就多,那么HBase存储的数据也多。

另一个是基于上层处理能力(RegionServer)的扩展,当存储的数据多时,相应的也应该有多个能够处理这些数据的进程RegionServer。

 

RegionServer:和HDFS中的DataNode与YARN中的NodeManager的地位相似,是具体干活的小弟。

 

HBase是典型的master/slave(主从)架构,也是分角色的,老大是Hmaster或者Master,具体干活的小弟是HRegionServer或者RegionServer。

【注意】在部署HBase集群的时候,要将HBase与HDFS部署在一起,因为HBase是基于HDFS的,部署在一起,可以提高HBase的读写速度,即数据本地化:数据放在本地处理。

 

HBase的表是由Region(区、片)组成的,当HBase的表越来越大的时候,表就会分为若干个Region,Region是由RegionServer负责管理的,一个RegionServer可以管理多个Region(这些Region可以是同一个表中的多个Region,也可以是不同表中的Region)

一个表由一个Region或者多个Region组成;

一个Region只能由一个RegionServer管理。

4.高并发

HBase要将数据写到HDFS上,再由HDFS写到磁盘上,过程虽然繁琐,但是单个IO延迟下降的并不多,主要突出了HBase框架的优越性,能够获得高并发,低延迟的服务。

5.稀疏

稀疏主要是指列的灵活性,可以指定任意多个的列,当列为空的时候,不占用任何的存储空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值