[发明专利]一种数据库多索引方法、装置及系统有效
申请号: | 201410475100.X | 申请日: | 2014-09-17 |
公开(公告)号: | CN105488050B | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 于君泽 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 开曼群岛*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 索引 方法 装置 系统 | ||
本申请实施例公开了一种数据库多索引方法、装置及系统。通过建立关联索引表,使用关联索引表存储新索引关键字与主索引关键字的对应关系,当使用新索引关键字作为主索引关键字进行查询时,根据新索引关键字在关联索引表中查找到对应的主索引关键字,根据对应的主索引关键字路由到分库分表,完成数据的查询。通过使用关联索引表来代替使用新索引关键字进行分库分表,从而避免重新记录一份或多份数据,大大降低了数据规模和工作量。
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库多索引方法、装置及系统。
背景技术
随着互联网应用的广泛普及,数据规模不断扩大,数据库中的表越来越多,表中的数据量也越来越大,相应地,数据操作(例如增、删、改、查)的开销也越来越大,而一台服务器的资源(CPU、磁盘和内存等)是有限的,最终数据库所能承载的数据量和数据处理能力都将遭遇瓶颈。为解决上述问题,引入分库分表机制,对数据进行拆分,将数据分布存储在不同的数据库或者不同的数据表中,降低单点服务器的承载和处理压力,提高了数据操作的效率。
分库分表是通过一系列的分库分表规则将数据分布到不同的DB(数据库)或者table(表)中。通过与分库分表规则相应的DB路由或者table路由规则可以找到需要查询的具体的DB或者table。例如,以数据库的字段userid(用户id)作为indexkey(索引关键字,亦称之为区分字段或者分库的标记字段),即分库的依据和规则的基础,将userid为1~50000的所有用户个人信息放入DB1中的多个userinfo表中,将userid为50001~100000的所有用户个人信息放入DB2中的多个userinfo表中,以此类推;相应地,如果userid是1234,利用前述的规则,则应该定位到DB1,如果userid是54321,则应该定位到DB2,以此类推。其中,indexkey存储于index(索引)表中。
上述举例中,以userid为indexkey,即按照用户维度分表,由于用户的个人信息(例如性别、电话号码、email等)都保存的同一个表中,所以可以很快很方便地查找某个用户的个人信息,但由于email信息很有可能分布在多张表中,如果要查找email被注册的情况则很麻烦。常用的处理方式,是记录两份数据,一份按照用户维度分库分表,一份按照email维度分库分表。也就是说,当需要增加indexkey以方便数据查找时,数据规模也需要扩充,特别是当indexkey很多时,数据规模将会很庞大,而且相应地逻辑库、物理部署和应用层逻辑等都需要调整,工作量也将非常巨大。
发明内容
为克服相关技术中分库分表后增加indexkey导致数据规模和工作量大的问题,本申请提供一种数据库多索引方法和系统。
根据本申请实施例的第一方面,提供一种数据库多索引方法,包括:
建立关联索引表,所述关联索引表用于存储数据中主索引关键字值和新索引关键字值的对应关系;
根据数据处理副本记录中主索引关键字值和新索引关键字值的对应关系更新所述关联索引表;
当根据新索引关键字进行查询时,根据新索引关键字值和关联索引表查找到对应的主索引关键字值;
根据所述查找到的对应的主索引关键字值路由到数据表,并获取对应的数据。
可选的,在根据数据处理副本记录中主索引关键字值和新索引关键字值的对应关系更新所述关联索引表之前,还包括:
根据被处理数据的主索引关键字,确定被处理数据所在的分库;
在所述数据被存入的数据库中插入所述数据处理副本记录。
可选的,所述数据处理副本记录用于记录待处理状态的数据处理,数据处理副本记录每记录一条待处理的数据,对数据处理副本记录中数据所在的行加锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410475100.X/2.html,转载请声明来源钻瓜专利网。