Hbase的介绍,shell操作及JAVAAPI操作

一、特点

1、海量存储

如果使用RDBMS存储数据,当数据量越来越大,RDBMS变得难以管理和操作,此时出现了读写分离策略,即通过一个Master专门负责写操作,多个Slave负责读操作,因此服务器成本将会倍增。随着压力增加,Master也撑不下去了,因此就出现了分库,即把关联不大的数据分开部署。但这样一来,一些join查询就不能用了,必须借助中间层。而对于单个数据表来讲,随着表中的数据量增加,查询速度就会很慢,因此又得对表进行拆分。比如按ID取模分成多个表以减少单个表的记录数。但是,如果采用HBase就简单了,只需要加机器即可,HBase会自动水平切分扩展,跟Hadoop的无缝集成保障了其数据可靠性(HDFS)和海量数据分析的高性能(MapReduce)。
Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正式因为Hbase良好的扩展性,才为海量数据的存储提供了便利。

2、列式存储 (表是行的集合,行是列族的集合,列族是列的集合,列是键值对的集合)

这里的列式存储其实说的是列族存储,Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。
由于是基于列式的存储,因此非常适合存储半结构化或非结构化数据。从这个意义角度上讲,HBase是一种NoSQL数据库。对于那些数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用HBase。比如文章的tag信息就会不断的增加、删除,无法统一的定制一个tage数据模型进行约束。再比如商品的规格信息,由于商品类型千差万别,其规格模型描述也不可能统一描述。
(注意:关系型数据库取出列值的计算是在最后阶段执行的投影运算)

3、极易扩展

Hbase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。
通过横向添加RegionSever的机器,进行水平扩展,提升Hbase上层的处理能力,提升Hbsae服务更多Region的能力。
备注:RegionServer的作用是管理region、承接业务的访问,这个后面会详细的介绍通过横向添加Datanode的机器,进行存储层扩容,提升Hbase的数据存储能力和提升后端存储的读写能力。

4、高并发

由于目前大部分使用Hbase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值