[发明专利]一种面向Hbase数据库的复合查询方法有效
申请号: | 201310139785.6 | 申请日: | 2013-04-22 |
公开(公告)号: | CN104111955B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 刘磊;何东杰;王海冰;才华 | 申请(专利权)人: | 中国银联股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 唐立;朱海煜 |
地址: | 200135 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 hbase 数据库 复合 查询 方法 | ||
本发明提供一种面向Hbase数据库的复合查询方法,属于数据查询技术领域。该复合查询方法包括建立索引表、索引建立、数据检索步骤,在建立索引表时,定义索引表的Key和Value;其中,索引表的Key的要素包括M个组合条件的N个,索引表的Value的要素至少包括对应主记录表的Key,2≤N≤M,M为大于或等于2的整数;在数据检索步骤中,根据提取N个组合条件生成的第一Key,在索引表中进行主键查询,然后根据主记录表的Key的要素定义为第二Key,至少在主记录表中进行主键查询。该方法查询效率高,尤其适用于海量数据库的数据查询。
技术领域
本发明属于数据查询技术领域,涉及面向Hbase数据库的复合查询方法。
背景技术
近年来,企业IT系统数据量呈爆炸性增长,传统的数据库已难以有效管理高达几十亿条记录甚至更多的数据规模。NoSQL数据库作为一种新兴的数据管理技术,通过简化数据模型、弱化数据一致性要求而获得了良好的可扩展性,为管理海量数据提供了一种选择。HBase数据库即是目前获得较广泛应用的NoSQL数据库之一,其是一种分布式的、面向列的开源数据库,它可扩展性好,非常适用于海量数据存储。
通常地,HBase数据库的中的每条记录就是一个简单的字节数组,具有相对固定的Key-Value(主键-键值)结构,即每条记录有唯一的Key(主键),其可以作为索引,Key为可变长度的字符串,而所有其他字段均保存在Value(键值)中。
因此,HBase数据库的数据查询过程中,首先根据查询条件对Key进行查询,然后在根据其他每一个查询条件对每一条记录的Value进行遍历方式的查询。由于Value的内容多,这样的查询方式非常耗时,因此,其不支持基于非主键进行快速查询。
以用于存储用户刷卡交易记录的HBase为例,用户在一个商场基于POS机刷卡交易后将产生一条记录,该记录可以包括如下内容:
<卡号、交易时间、交易商户、交易地区、交易金额>
其中,卡号为信用卡的号码,商户为用户所进行交易的商户,如商场或饭店。由于在HBase中Key需要保证唯一性,而一个卡号可以产生多条记录,因此在该记录存入HBase数据库时,要将卡号和一个随机数连接,将其作为Key,将<交易时间、交易商户、交易地区、交易金额>作为 Value,存入HBase数据库中。
根据用户卡号的查询实现比较简单,例如,根据用户卡号查询某一段时间类的所有交易记录,则只需要执行如下步骤:
a、创建一个新的Scan(扫描)对象;
b、在Scan对象的Filter(过滤器)选项中设置交易时间过滤规则;
c、执行Scan动作。
以上只是单个条件的查询,相对来说,其查询效率还是可以接受的。但是,如果要对Hbase数据库实现复合查询,也即除Key之外的多个组合条件的查询,
例如,同样对于存储用户刷卡交易记录的HBase数据库,如果需要查询满足诸如如下多个条件的所有记录:
交易地区:上海,
交易时间: 2012年10月 至 2012年12月,
交易金额:1000元至2000元。
那么,复合查询的组合条件包括:交易地区、交易时间和交易金额。在实现该复合查询时,采取暴力方式依次读取HBase数据库中的所有记录,对每一条记录根据查询条件和记录中的Value的值进行比较和过滤。具体步骤为:(1)创建Scan对象;(2)执行Scan动作;(3)对Scan返回的ResultScanner中的每条记录,根据检索条件进行过滤,如复合条件则输出;否则重复执行该动作,直到遍历ResultScanner中的所有记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银联股份有限公司,未经中国银联股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310139785.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种刷新数据项显示的方法、装置
- 下一篇:一种图书推荐方法和装置