[发明专利]数据库分片在审
申请号: | 201880068665.2 | 申请日: | 2018-10-18 |
公开(公告)号: | CN111247518A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | C·N·小瓦伦;M·里安 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/24 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅;姚杰 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 分片 | ||
1.一种用于将记录存储在分片数据库的分片表中的计算机实现的方法,所述分片数据库包括多个数据库分片,所述多个数据库分片中的每个数据库分片被配置为存储所述分片表的记录的子集并且与相应的布隆过滤器相关联,所述布隆过滤器被配置为提供关于与特定分片关键字相关联的记录是否已经被存储在所述数据库分片中的指示,所述计算机实现的方法包括:
获得要被存储的所述记录的分片关键字,所述分片关键字基于所述记录的一个或多个字段;
针对多个相应布隆过滤器中的每一个布隆过滤器,通过将所述布隆过滤器所使用的一个或多个散列函数应用于所述分片关键字来生成与所述布隆过滤器一起使用的所述分片关键字的相应表示;
计算所述多个布隆过滤器中的每一个布隆过滤器的当前值和与所述布隆过滤器一起使用的所述分片关键字的所述相应表示之间的汉明距离;
基于所计算的汉明距离来选择数据库分片;以及
将所述记录存储在所选择的数据库分片中。
2.根据权利要求1所述的计算机实现的方法,其中所述相应布隆过滤器中的每一个布隆过滤器使用相同数量的比特和相同的散列函数。
3.根据权利要求1所述的计算机实现的方法,其中所述相应布隆过滤器中的每一个布隆过滤器是计数过滤器。
4.根据权利要求1所述的计算机实现的方法,其中选择数据库分片包括选择与所计算的汉明距离是所计算的汉明距离之中的最小值的相应布隆过滤器相关联的数据库分片。
5.根据权利要求4所述的计算机实现的方法,其中选择与所计算的汉明距离是所计算的汉明距离之中的最小值的相应布隆过滤器相关联的数据库分片,包括从与所计算的汉明距离是最小值的相应布隆过滤器相关联的那些数据库分片之中随机选择所述数据库分片。
6.根据权利要求1所述的计算机实现的方法,其中所述分片数据库还包括每个数据库分片可用于存储新记录或者不可用于存储新记录的指示,并且其中为其生成所述分片关键字的相应表示的所述多个布隆过滤器不包括与被指示为不可用的数据库分片相关联的任何布隆过滤器。
7.根据权利要求6所述的计算机实现的方法,其中为其生成所述分片关键字的表示的所述多个布隆过滤器包括与被指示为可用的所有所述数据库分片相关联的相应布隆过滤器。
8.根据权利要求1所述的计算机实现的方法,其中所述分片数据库还包括用于对已经插入到所述数据库分片中的每个数据库分片中的记录的相应数量进行计数的相应插入计数器,并且其中所述计算机实现的方法还包括:
针对所选择的数据库分片递增所述插入计数器。
9.根据权利要求8所述的计算机实现的方法,其中所述计算机实现的方法还包括:
确定已被插入到所选择的数据库分片中的记录的数量是否超过预定阈值;以及
响应于确定已被插入到所选择的数据库分片中的所述记录的数量超过所述预定阈值,将所选择的数据库分片标记为不可用于存储新记录。
10.根据权利要求1所述的计算机实现的方法,其中所述计算机实现的方法还包括:
将新数据库分片和相关联的布隆过滤器添加到所述分片数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880068665.2/1.html,转载请声明来源钻瓜专利网。