[发明专利]基于HBase的索引系统及查询加速方法有效
申请号: | 202010765009.7 | 申请日: | 2020-08-03 |
公开(公告)号: | CN111737267B | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 赵欣 | 申请(专利权)人: | 深圳市赢时胜信息技术股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 北京海虹嘉诚知识产权代理有限公司 11129 | 代理人: | 吴小灿 |
地址: | 518000 广东省深圳市福田区华富街道莲*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hbase 索引 系统 查询 加速 方法 | ||
基于HBase的索引系统及查询加速方法,通过利用HBase行键的有序性,在HBase表中内置索引数据列族以对业务数据列族下的一个业务数据列建立索引列,并将所述索引列对应的所述HBase表的行键列下写入索引列行键值,所述索引列行键值包括被索引的业务数据列列值和位于所述业务数据列列值之后的业务数据列行键值,并以内置索引数据列族的HBase表为核心构建本发明,能够对HBase表中的数据资源在复杂查询条件下达到更加快速查找的目的,从而有利于更加充分利用和开发HBase的数据资源。
技术领域
本发明涉及HBase数据库技术,特别是一种基于HBase的索引系统及查询加速方法。
背景技术
Apache HBase是一个高可靠、高性能、面向列、可伸缩的、开源的非关系型分布式数据库(简称HBase数据库或HBase),主要用来存储非结构化和半结构化的松散数据,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。HBase本身提供基于全表扫描的查询,同时也提供基于行键(类似于关系数据库中表的主键)的查询。但在实际应用场景中,数据的查询条件往往是比较复杂的,对于复杂查询条件的处理,在HBase中只能通过全表扫描的方式来对数据进行检索,即对表中的全部数据进行逐行比对和过滤,随着数据量的增加,对数据查询检索的代价会越来越大,无法满足正常的数据检索需求。为了利用或开发HBase的数据资源,现有技术中出现了基于MapReduce批处理方式的HBase二级索引,借助第三方Solr引擎预先创建的HBase二级索引,这两种HBase二级索引实际上是将二级索引表建立在HBase数据库以外,属于库外建表的方式。现有技术中还有基于协处理器方式在HBase数据库中针对HBase表另行建立二级索引表,也就是一种在同一个HBase数据库中采用表外建表的方式,以实现对HBase表中数据的快速查找。本发明人认识到,虽然上述HBase二级索引都是对HBase表原有全表扫描的方式,所带来的大量磁盘I/O操作和查询等待时间过长问题的改进,但都存在一些缺陷或不足,例如,基于MapReduce批处理方式的HBase二级索引不能够实时构建索引,实效性不高;例如,第三方Solr引擎预先创建的HBase二级索引需要依赖第三方引擎,耦合性太强,资源需求太多;例如,在同一个HBase数据库中采用表(HBase表,如用户表等)外建表(针对用户表的二级索引表)的方式可能造成数据表和索引表物理分离,而索引表和数据表的分离可能导致数据的一致性存在问题等,同时也不利于索引反查。HBase行键的有序性是HBase提供基于行键查询的基础,但是现有技术中的HBase表所对应的HBase行键本身不包括业务数据,即不包括表中列族下某一列的列值(业务数据),而HBase中除行键外的其他列的数据是无序的,也就是说现有HBase表本身不能提供任何针对业务数据列的索引检索。本发明人认为,如果利用HBase行键的有序性,在HBase表中内置索引数据列族以对业务数据列族下的一个业务数据列建立索引列,并将所述索引列对应的所述HBase表的行键列下写入索引列行键值,所述索引列行键值包括被索引的业务数据列列值和位于所述业务数据列列值之后的业务数据列行键值,并以内置索引数据列族的HBase表为核心构建基于HBase的索引系统及查询加速方法,则能够对HBase表中的数据资源在复杂查询条件下达到更加快速查找的目的,有利于更加充分利用和开发HBase的数据资源。有鉴于此,本发明人完成了本发明。
发明内容
本发明针对现有技术中存在的缺陷或不足,提供一种基于HBase的索引系统及查询加速方法,通过利用HBase行键的有序性,在HBase表中内置索引数据列族以对业务数据列族下的一个业务数据列建立索引列,并将所述索引列对应的所述HBase表的行键列下写入索引列行键值,所述索引列行键值包括被索引的业务数据列列值和位于所述业务数据列列值之后的业务数据列行键值,并以内置索引数据列族的HBase表为核心构建本发明,能够对HBase表中的数据资源在复杂查询条件下达到更加快速查找的目的,从而有利于更加充分利用和开发HBase的数据资源。
本发明的技术方案如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市赢时胜信息技术股份有限公司,未经深圳市赢时胜信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010765009.7/2.html,转载请声明来源钻瓜专利网。