当云HBase2.0被赋能了search

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 云HBase2.0也就是我们即将要上线的ApsaraDB for HBase2.0。它不仅兼容开源HBase2.0,也承载着阿里多年大规模HBase使用的技术积淀,还有广大公有云用户喜欢的商业化功能。在大数据量场景中已经具有如此优势的云HBase2.0,如果还能search呢?

概述

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

技术简介

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

  1. 通过配置文件或者SQL中指定要同步的索引列以及分词器等信息,建立HBase与solr表之间的映射关系。
  2. 当有HBase中发生数据操作(插入/更新/删除)时,对应的操作数据将会被捕获,转化为doc写入solrcloud中。
  3. 索引列作为全文索引进行检索。先检索solr中对应的索引数据,拿到所有符合条件索引数据的value, 也就是对应HBase表中rowkey时,再对HBase主表中的数据做过滤,最后获取到查询结果。

以上过程可参考下图:
Screen_Shot_2018_06_06_at_21_09_02

架构优势

当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功能做了简单介绍。笔者更想通过本文能和有此类业务需求的同学进行交流,欢迎加我微信。另外,此功能预计7月份公测,也欢迎申请试用,感兴趣的同学留言哦!

image

目录
相关文章
|
SQL 分布式计算 监控
云HBase X-Pack解决传统数据仓库瓶颈,赋能客户计算分析业务
某游戏公司随着业务快速发展,用户行为日志快速增长,需要从海量的点击流日志和激活日志中挖掘数据的价值,比如广告转化率、激活率,每日安装用户成本等等。原来使用GreenPlum做实时计算和统计分析遇到一些瓶颈,最终使用阿里云HBase X-Pack构建了满足业务需求的数据处理平台。
8792 0
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
432 0
|
8月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
576 19
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
361 4
|
分布式计算 Hadoop 关系型数据库
Hadoop任务scan Hbase 导出数据量变小分析
Hadoop任务scan Hbase 导出数据量变小分析
204 0
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
346 4
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
203 3
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
234 3
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
217 2
|
SQL 分布式计算 Hadoop
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
594 2