[发明专利]用于对数据库进行分区的方法和系统有效
申请号: | 201210387802.3 | 申请日: | 2012-09-29 |
公开(公告)号: | CN103714098B | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 曹逾;郭小燕;陈继东 | 申请(专利权)人: | 伊姆西公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国马*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据库 进行 分区 方法 系统 | ||
1.一种对数据库进行分区的方法,包括:
将所述数据库中的多个条目分组成一个或多个条目组,以使同一个所述条目组中的条目总是被一个或多个事务同时访问;
确定分区方案,以使得由所述分区方案所导致的数据不均衡的程度和系统的工作负载不均衡的程度在预定阈值以下;
基于所述分区方案而将所述一个或多个条目组划分为设定数目个分区,以使跨多于一个分区进行访问的事务数目最小化;以及
基于各个所述分区中的条目与存储所述条目的节点之间的映射关系,建立查找表。
2.根据权利要求1所述的方法,其中,将所述一个或多个条目组划分为设定数目个分区,以使跨多于一个分区进行访问的事务数目最小化进一步包括:
将所述一个或多个条目组映射为点;
将对所述点所代表的一个或多个条目组中所包含的条目进行访问的一个或多个事务映射为与所述点相关联的边,生成图结构;以及
将所述图结构划分为所述设定数目个部分,以使被切割的边的数目最少,
其中,划分成的所述各个部分对应于所述数据库的各个分区。
3.根据权利要求2所述的方法,其中所述图结构为超图。
4.根据权利要求1-3之任一所述的方法,还包括:
确定所划分的各个所述分区是否满足设定条件;
当确定为不满足所述设定条件时,重复进行如下步骤,直至满足所述设定条件:
将一个或多个所述条目组中的每一个进一步分组成多个条目组;以及
基于当前的所有条目组进行所述划分设定数目个分区以使对多于一个分区进行访问的事务数目最小化。
5.根据权利要求4所述的方法,其中,所述将一个或多个所述条目组进一步分组成多个条目组进一步包括:
基于条目组的大小和/或条目组的大小与对所述条目组的访问频率的比率,选择用于进一步分组的所述一个或多个条目组。
6.根据权利要求4所述的方法,其中,所述设定条件涉及以下中的一个或多个:各个节点的存储能力、各个节点的处理能力、分区的均衡水平、总划分次数以及多次划分的结果是否收敛。
7.根据权利要求6所述的方法,其中,所述设定条件由所述节点本身决定和/或由用户设置。
8.根据权利要求6所述的方法,其中,所述多次划分的结果是否收敛进一步包括分别与最近若干次分区结果相关联的、跨多于一个分区进行访问的事务的数目之间的差别是否小于设定阈值。
9.根据权利要求6-8之任一所述的方法,其中,所述分区的均衡水平基于如下中的一个或多个进行度量:分区的数目、分区的大小、访问所述分区内全部条目的事务数目、存储不均衡对性能的影响度、以及处理不均衡对性能的影响度。
10.根据权利要求9所述的方法,其中,所述分区的均衡水平基于不均衡因子SF进行度量:
其中,α代表所述存储不均衡对性能的影响因子,β代表所述处理不均衡对性能的影响因子,α和β均为非负参数并且α+β=1;
并且其中,n代表分区的数目,si和ti分别代表第i个分区内的条目组的大小和访问第i个分区的事务的总数量。
11.根据权利要求1-4之任一所述的方法,其中所述建立查找表包括:
当确定为满足所述设定条件时,建立所述查找表。
12.根据权利要求1-3之任一所述的方法,其中所述数据库为关系数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于伊姆西公司,未经伊姆西公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210387802.3/1.html,转载请声明来源钻瓜专利网。