如何使用HBase?大数据存储的两个实战场景

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适用于结构化的存储,底层依赖于Hadoop的HDFS,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。因此HBase被广泛使用在大数据存储的解决方案中。

  为何使用HBase

  HBase的优点:

  - 列可以动态增加,并且列为空就不存储数据,节省存储空间。

  - Hbase自动切分数据,使得数据存储自动具有水平scalability。

  - Hbase可以提供高并发读写操作的支持。

\
  HBase的缺点:

  - 不能支持条件查询,只支持按照Row key来查询。

  - HBase并不适合传统的事物处理程序或关联分析,不支持复杂查询,一定程度上限制了它的使用,但是用它做数据存储的优势也同样非常明显。

  因为HBase存储的是松散的数据,所以如果你的应用程序中,数据表每一行的结构是有差别的,那么可以考虑使用HBase。因为HBase的列可以动态增加,并且列为空就不存储数据,所以如果你需要经常追加字段,且大部分字段是NULL值的,那可以考虑HBase。因为HBase可以根据Rowkey提供高效的查询,所以如果你的数据(包括元数据、消息、二进制数据等)都有着同一个主键,或者你需要通过键来访问和修改数据,使用HBase是一个很好地选择。

  如何使用HBase

  场景一:卖家操作日志

  卖家操作日志,顾名思义是用来记录商家操作的系统,从而可以保证商家可以精确查询自己的各种操作。京东有几十万的商家时时刻刻的进行着各种操作,因此卖家操作日志的特点是:数据量大、实时性强、增多查少。

\

图1


\

图2


  我们在做卖家操作日志初期,将所有的操作日志存放在ES中,操作日志的数据量是非常大的,但尴尬的是我们当时所能申请到的ES资源有限。当把大量的数据存储到有限的ES集群中时便导致了性能的下降。在这种情况下,我们选择了只在ES集群中存储最近三个月的数据,对其提供灵活的查询,而长期的数据存储使用HBase来进行。这样的话我们便可以实现对近期操作灵活展现,对长期数据也有精确备份。

  场景二:京麦消息日志的存储

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值