你好,游客 登录
背景:
阅读新闻

当云HBase2.0被赋能了search

[日期:2018-06-07] 来源:云栖团队博客  作者: [字体: ]

  概述

  云HBase2.0也就是我们即将要上线的ApsaraDB for HBase2.0。它不仅兼容开源HBase2.0,也承载着阿里多年大规模HBase使用的技术积淀,还有广大公有云用户喜欢的商业化功能。在大数据量场景中已经具有如此优势的云HBase2.0,如果还能search呢?

  技术简介

  云HBase2.0上的search是基于目前的solr7.3.x研发版本。数据通过replication准实时的同步到solrcloud中,利用solr实现数据的检索。具体过程如下:

  通过配置文件或者SQL中指定要同步的索引列以及分词器等信息,建立HBase与solr表之间的映射关系。

  当有HBase中发生数据操作(插入/更新/删除)时,对应的操作数据将会被捕获,转化为doc写入solrcloud中。

  索引列作为全文索引进行检索。先检索solr中对应的索引数据,拿到所有符合条件索引数据的value, 也就是对应HBase表中rowkey时,再对HBase主表中的数据做过滤,最后获取到查询结果。

  以上过程可参考下图:

大数据

  架构优势

  当HBase有了search能力,不仅能解决非rowkey的索引问题,也补齐了HBase后缀模糊匹配,分词检索的能力。

  索引数据的同步方案目前有两种, 分别是使用HBase Coprocessor的同步方案和利用replication的异步方案。目前我们使用异步方案的原因是,对HBase集群影响较小,而且此方案经过多次优化,数据同步速度也能接近准实时。

  除了兼容目前最高版本的HBase和solr的优势以外,相对现在社区已有的同类方案,还有以下优点:

  云端的自动化运维和专家诊断,让系统更加稳定。

  支持存储计算分离,solr索引数据存储在oss,降低成本。

  我们目的是为HBase提供内嵌的search能力,能通过易用的SQL对HBase的非rowkey列进行检索。我们不仅仅支持search,以后也会扩展地理空间索引。

  应用场景

  某交通数据中心,每天会从各个路口摄像头实时采集大量的车牌号数据,并存储到HBase中。上层业务有以车牌号为条件,模糊查询出相关车主信息的需求。而由于每天实时写入的数据多达几亿条之多,同时涉及大量包含和后缀查询。此时,HBase现有的功能特性,已经不能满足此类查询需求了,大数据量的全表扫描不仅非常慢,也很容易造成RS因为大scan频繁挂掉的问题。对于有search功能的HBase来说,通过二级索引借助luence的能力很容易就能解决这个问题。

  总结

  文中对云HBase2.0的search功能做了简单介绍。笔者更想通过本文能和有此类业务需求的同学进行交流,欢迎加钉钉群:11734635。另外,此功能预计7月份公测,也欢迎申请试用,感兴趣的同学留言哦!





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款