HBase的基本概念及应用场景

HBase的基本概念及应用场景

一、基本概念
HBase就是一个数据库。我们主要可以通过这5个方面描述HBase:

  1. 首先它是Bigtable的开源实现,论文中描述Bigtable主要运用于网页索引倒排表数据的存储。HBase和HDFS的模型最初参考的就是BigTable和GFS。搜索关键词google 三篇论文可以搜到论文。
  2. 它是分布式数据库——较传统数据库更易扩展、更高可用。这里的高可用通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
  3. HBase使用列式存储,大家都知道传统数据库中至少从逻辑上来说一行数据的所有列都连续保存在同一个文件中,而HBase中,一行数据的不同列族是分开存储的。这里列族是多个列的集合,详细定义稍后给出。
  4. HBase是一个Nosql数据库,这也意味着HBase不擅长关系处理, 特别是类似join之类的关联操作,如果数据之间的关联操作比较多的话不建议使用HBase;
  5. HBase的持久化数据保存于HDFS,可重建的状态数据保存于Zookeeper。可以说HBase的最重要的功能是加入了一层逻辑处理,使随机数据操作转化为顺序读写的HDFS操作。

二、 HBase应用场景
(一) 适用场景:

  1. 存储大量的数据,上百TBs的数据;
  2. 需要很高的吞吐量
  3. 在大规模的数据量中进行很好性能的随机访问
  4. 需要进行优雅的数据扩展
  5. 结构化数据和半结构化的数据存储;
  6. 列结构动态变化;
  7. 数据需要定时删除;
  8. 业务场景简单,没有复杂的交叉表、事务或者关联操作;

(二) 不适用场景:
1.需要事务的场景,HBase各行之间没有原子性,因此对于事务性的业务场景不适用,但是各行内部是有一定的原子性的
2. 复杂的关系查询与计算,类似join、groupby等关系
3. 多条件查询,根据列内容多个条件查询的场景;
以上场景在HBase中也可以实现,但是效率低下,或者实现逻辑复杂,不建议在HBase中实现;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值