HBASE+Solr实现详单查询

企业动态
最近群里面讨论HBASE的使用场景,本文只对基于Solr的HBase多条件查询方案进行测试和验证。

背景

某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的HBase多条件查询方案进行测试和验证。

原理

基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBASE中通过指定rowkey进行查询。

在HBASE中通过指定rowkey进行查询

HBase与Solr系统架构设计

使用HBase搭建结构数据存储云,用来存储海量数据;使用SolrCloud集群用来搭建搜索引擎,将要查找的结构化数据的ID查找出来,只配置它存储ID。

HBase与Solr系统架构设计

wd代表用户write data写数据,从用户提交写数据请求wd1开始,经历wd2,写入MySQL数据库,或写入结构数据存储云中,wd3,提交到Solr集群中,从而依据业务需求创建索引。

rd代表用户read data读数据,从用户提交读数据请求rd1开始,经历rd2,直接读取MySQL中数据,或向Solr集群请求搜索服务,rd3,向Solr集群请求得到的搜索结果为ID,再向结构数据存储云中通过ID取出数据,***返回给用户结果。

实现方法有两种

  • 手工编码,直接用HBASE的API,可以参考下文:http://www.cnblogs.com/chenz/articles/3229997.html
  • 可以使用HBASE/Solr的LUNA接口,就不用自己管理两者。

【本文为51CTO专栏作者“大数据和云计算”的原创稿件,转载请通过微信公众号获取联系和授权】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2010-11-22 13:13:30

MySQL模糊查询

2014-08-22 11:04:39

大数据架构

2010-10-08 15:37:21

MySQL单表

2010-11-24 10:35:34

MySQL单表多字段

2023-12-18 20:46:49

MySQLB+Tree单引擎查询

2011-08-02 10:01:21

Linux系统负荷

2023-08-03 09:12:02

2013-12-16 10:20:48

MySQL数据库

2010-09-25 16:42:45

sql语句

2015-10-27 09:19:24

2024-03-04 00:10:00

并发并行JavaScript

2009-11-06 17:21:36

验证Oracle SQ

2015-02-04 14:50:29

2015-05-11 09:43:07

路由traceroute

2009-12-11 09:20:09

Visual Stud

2017-12-20 15:10:09

HBaseHadoop数据

2018-09-18 14:43:30

HBase查询数据

2009-11-05 17:53:05

Oracle用户表空间

2022-09-06 07:02:17

棋盘布局CSS

2011-06-28 15:18:45

Qt 单例模式
点赞
收藏

51CTO技术栈公众号