[发明专利]基于HBase的索引系统及查询加速方法有效
申请号: | 202010765009.7 | 申请日: | 2020-08-03 |
公开(公告)号: | CN111737267B | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 赵欣 | 申请(专利权)人: | 深圳市赢时胜信息技术股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 北京海虹嘉诚知识产权代理有限公司 11129 | 代理人: | 吴小灿 |
地址: | 518000 广东省深圳市福田区华富街道莲*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hbase 索引 系统 查询 加速 方法 | ||
1.基于HBase的索引系统,包括HBase服务端和与所述HBase服务端相适配的客户端程序,其特征在于,所述HBase服务端包括与HBase表分别互连的索引元信息装置、数据读取模块、数据写入模块、索引构建模块和表管理模块,所述数据读取模块连接所述客户端程序以进行数据读取,所述数据写入模块连接所述客户端程序以进行数据写入,所述索引构建模块连接所述客户端程序以构建索引,所述表管理模块连接所述客户端程序以进行表的创建和管理;所述HBase表包括业务数据列族和为所述业务数据列族下的一个业务数据列建立索引的索引数据列族,所述索引数据列族下设置有索引列,所述索引列对应的所述HBase表的行键列下写入索引列行键值,所述索引列行键值包括被索引的业务数据列列值及其业务数据列行键值,所述业务数据列行键值位于所述业务数据列列值之后;
所述HBase服务端包括HBase表拆分模块,所述HBase表拆分模块在拆分过程中屏蔽索引数据对拆分过程的影响,使索引数据区不参与拆分点计算,使处于同一个表分区中的业务数据区和索引数据区在依据业务数据列行键值拆分点拆分成上半区和下半区时始终按照实际的业务数据来拆分,所述索引数据区随所述业务数据区的拆分而拆分,将索引数据列行键值中所包含的业务数据列行键值小于拆分点的归属于上半区,不修改键值;将索引数据列行键值中所包含的业务数据列行键值等于或大于拆分点的归属于下半区,并修改键值;
所述数据写入模块和所述索引构建模块用于构建普通索引、唯一索引、函数索引、覆盖索引和/或复合索引;所述数据读取模块利用已构建的普通索引、唯一索引、函数索引、覆盖索引和/或复合索引加速数据读取。
2.根据权利要求1所述的基于HBase的索引系统,其特征在于,所述数据写入模块和所述数据读取模块均利用HBase的协处理器机制对所述HBase表的数据读写操作进行拦截,所述数据写入模块针对被拦截到的写请求内容根据所述索引元信息装置中的索引元信息自动启动在所述HBase表内构建索引的数据写入流程,所述数据读取模块针对被拦截到的读请求内容根据所述索引元信息装置中的索引元信息自动启动利用所述索引列行键值有序性在所述HBase表内对被索引业务数据列进行查询的数据读取流程。
3.根据权利要求1所述的基于HBase的索引系统,其特征在于,所述索引列行键值均包括一个相同的前缀,所述前缀使得全部索引列行键值自动聚合成所述HBase表内的索引数据区以从排序上与由业务数据列行键值形成的业务数据区始终保持有分隔线;在所述HBase表内所述索引数据区位于所述业务数据区的上方,所述索引列行键值中的所述业务数据列行键值用于索引检索后的回表检索。
4.一种内置索引列族的HBase表,其特征在于,在同一个HBase表内包括业务数据列族和为所述业务数据列族下的一个业务数据列建立索引的索引数据列族,所述索引数据列族下设置有索引列,所述索引列对应的所述HBase表的行键列下写入索引列行键值,所述索引列行键值包括被索引的业务数据列列值及其业务数据列行键值,所述业务数据列行键值位于所述业务数据列列值之后,所述索引列行键值均包括一个相同的前缀,所述前缀使得全部索引列行键值自动聚合成所述HBase表内的索引数据区以从排序上与由业务数据列行键值形成的业务数据区始终保持有分隔线,在所述HBase表内所述索引数据区位于所述业务数据区的上方,所述索引列行键值中的所述业务数据列行键值用于索引检索后的回表检索;
所述HBase表在拆分过程中屏蔽索引数据对拆分过程的影响,使索引数据区不参与拆分点计算,使处于同一个表分区中的业务数据区和索引数据区在依据业务数据列行键值拆分点拆分成上半区和下半区时始终按照实际的业务数据来拆分,所述索引数据区随所述业务数据区的拆分而拆分,将索引数据列行键值中所包含的业务数据列行键值小于拆分点的归属于上半区,不修改键值;将索引数据列行键值中所包含的业务数据列行键值等于或大于拆分点的归属于下半区,并修改键值;
利用数据写入模块和索引构建模块构建普通索引、唯一索引、函数索引、覆盖索引和/或复合索引;数据读取模块利用已构建的普通索引、唯一索引、函数索引、覆盖索引和/或复合索引加速数据读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市赢时胜信息技术股份有限公司,未经深圳市赢时胜信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010765009.7/1.html,转载请声明来源钻瓜专利网。