码迷,mamicode.com
首页 > 其他好文 > 详细

HBase多条件筛选查询方案

时间:2014-07-17 00:53:25      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:使用   数据   问题   代码   c   服务器   

    最近的项目需要使用Hbase做实时查询,由于Hbase只支持一级索引,也就是使用rowkey作为索引查询,所以对于多条件筛选查询的支持不够,在不建立二级索引的情况下,只能使用Hbase API中提供的各种filter过滤器进行筛选,感觉查询效率不太理想,于是考虑建立二级索引的方案。

    经过google学习网上前辈们的经验,暂时找到两种可用的方案:

  1. 使用Hbase协处理器Coprocessor在写入数据时,创建二级索引表,并将每条数据的索引写入二级索引表中,查询时先根据筛选条件查询二级索引表,获取相对应的一级索引rowkey,然后根据rowkey去数据表中获取查询结果。
  2. 使用solr搜索应用服务器,在写入数据时,在solr中建立二级索引(甚至可以建立全文索引),查询时先根据筛选条件获取一级索引rowkey的集合,然后根据rowkey去数据表中获取查询结果。 

    对两种方案进行了比较发现,第一种方案中存在的问题是无法直接获取数据记录总数(要获取记录总数,需要在写入数据时单独维护一个计数器,并一直更新记录总数),对于分页显示的需求不容易满足;而solr服务器的查询方式类似于SQL语句,支持各种查询条件过滤、限定查询范围、页数以及直接获取记录总数,所以我比较倾向于第二种方案。

    关于两种方案的效率问题,目前还在测试中,后面会陆续写出第二套方案的详细部署以及代码。

    第一次开博客,先写这么多吧,下班!

HBase多条件筛选查询方案,布布扣,bubuko.com

HBase多条件筛选查询方案

标签:使用   数据   问题   代码   c   服务器   

原文地址:http://www.cnblogs.com/bxljoy/p/3849359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!