[发明专利]SQL On HBase上基于字符串切分的倒排索引的方法及系统有效
申请号: | 202010459168.4 | 申请日: | 2020-05-27 |
公开(公告)号: | CN111625544B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 杨永锋 | 申请(专利权)人: | 贵州易鲸捷信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458;G06F16/28 |
代理公司: | 北京卿阳专利代理事务所(普通合伙) 16214 | 代理人: | 陈大朝 |
地址: | 550000 贵州省贵阳市贵阳综*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql on hbase 基于 字符串 切分 索引 方法 系统 | ||
本发明公开了一种SQL On HBase上基于字符串切分的倒排索引的实现方法及系统,具体步骤包括如下:生成索引的结构,优化索引的语法,同时优化数据库,并进行记录插入、记录更新、禁用索引和删除数据,生成新的索引数据,根据索引数据查询数据表,获得对应的查询结果。本发明能够缩小查询范围,基于缩小的记录数在基表上进一步精确查询的办法来提高查询效率;不依赖于第三方的组件,完全基于数据库自身的架构,实现了在传统关系型数据库上才有的倒排索引,支持前模糊,中模糊后模糊和前后模糊查询,极大的提高的模糊查询的效率,也使得对非结构化数据的支持做的更好。
技术领域
本发明涉及SQL On HBase数据库技术领域,更具体的说是涉及一种SQL On HBase上基于字符串切分的倒排索引的实现方法及系统。
背景技术
SQL On HBase数据库本身具备存储机构化数据和非结构化数据的能力,但是对模糊查询,尤其是前后模糊查询(如:like‘%abc%’)支持不好。对于全文检索引擎Solr和Elasticsearch,虽然它们支持的数据格式很多,能处理数据量很大,且很高效,但是他们并不能直接和数据库的SQL引擎集成。另外SQL On HBase数据库里的数据都是存储在HBase上,如果要将数据库和全文检索引擎集成,如:SQL On HBase+Solr,用户通过用户自定义函数,可以调用Solr的接口来检索从HBase传上来的数据,并将结果通过SQL引擎、驱动返回给用户。这个过程中即使用户定义函数和Solr Api的处理速度很快,还是避免不了在源HBase表上进行全表扫描的命运,如果原表记录非常多,全表扫描就会非常耗时。
对于在关系型数据库上使用的倒排索引,其索引文件是按特定的数据结构存储在文件系统上的,很难在Key-value结构的HBase上模拟这样的结构,并方便的维护表上数据的更新。
因此,如何提供一种模糊查询性能高的倒排索引的实现方法及系统是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种SQL On HBase上基于字符串切分的倒排索引的实现方法及系统,缩小查询范围,基于缩小的记录数在基表上进一步精确查询的办法来提高查询效率;不依赖于第三方的组件,完全基于数据库自身的架构,实现了在传统关系型数据库上才有的倒排索引,支持前模糊,中模糊后模糊和前后模糊查询,极大的提高的模糊查询的效率,也使得对非结构化数据的支持做的更好。
为了实现上述目的,本发明提供如下技术方案:
一种SQL On HBase上基于字符串切分的倒排索引的实现方法,具体步骤包括如下:
生成索引的结构,优化索引的语法,同时优化数据库,并进行记录插入、记录更新、禁用索引和删除数据,生成新的索引数据,根据所述索引数据查询数据表,获得对应的查询结果。
其中,索引的维护:
a)插入记录:在原表上插入记录的同时,把新插入的记录拆分成索引记录插入到索引当中;
b)记录更新:对原表上的记录进行更新时,同时更新索引中对应的记录;
c)记录和临时索引删除:在原表上删除记录时,需要根据所删除的记录的主键值在索引当中删除对应的记录;同时清理索引记录数据和元数据信息;
d)索引禁用;
优选的,在上述的一种SQL On亲HBase上基于字符串切分的倒排索引的实现方法中,所述创建索引的具体步骤包括如下:
创建索引时,在index关键字前增加ngram(n)语法关键字,索引列的值会被按照n个字符一组进行分片;重复的值只会被保留一份存入倒排索引中;增加表函数generate_ngram(table,index_col_name),所述表函数根据ngram(n)语法关键字里指定的n,把原表里索引列查询出来,切分成n个字符一组的新的记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州易鲸捷信息技术有限公司,未经贵州易鲸捷信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010459168.4/2.html,转载请声明来源钻瓜专利网。