[发明专利]用于分布式大规模并行处理数据库的方法及系统有效
申请号: | 201811146623.4 | 申请日: | 2013-10-29 |
公开(公告)号: | CN109388638B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 卡米尼·杰格缇雅尼;杰森·扬·孙;沈秀棠;甘嘎瓦拉·普拉萨德·瓦拉库汝 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 分布式 大规模 并行 处理 数据库 方法 系统 | ||
1.一种大规模并行处理数据库中管理数据的方法,其特征在于,包括:
通过为第一数据表指定主键,以及为第二数据表指定与所述主键完全相同的外键,以建立所述第一数据表和所述第二数据表的关联关系;
基于所述第一数据表的主键将所述第一数据表划分成N个第一分区,其中,N为大于1的正整数;
基于所述第二数据表的外键将所述第二数据表划分成N个第二分区;
建立N个分区组,其中,每一个分区组包含所述N个第一分区中的一个第一分区,以及所述N个第二分区中的一个第二分区,且每一个分区组所包含的分区的数据相互关联;
将所述每一个分区组分配给独立的处理器和存储器。
2.根据权利要求1所述的方法,其特征在于,还包括:将未分区的数据表分别复制到所述每一个分区组。
3.根据权利要求1或2所述的方法,其特征在于,还包括:为第三数据表指定外键,所述第三数据表的外键与所述第二数据表的主键相同。
4.根据权利要求3所述的方法,其特征在于,还包括:
基于所述第三数据表的外键将所述第三数据表划分成N个第三分区;
将所述N个第三分区分布到所述N个分区组,其中每一个分区组包含所述N第三分区中的一个第三分区。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述每一个分区组为可独立运行的数据库。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述每一个分区组还包括与所述分区组中的数据相关的索引、编目和权限。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
从客户端接收第一查询,所述第一查询包括用于插入目标数据的插入语句;
从所述N个分区组中选择一个分区组,并将所述目标数据插入到所选择的分区组。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
从客户端接收第二查询,所述第二查询包括选择语句;
若所述第二查询涉及多个数据表,且涉及的所有数据列为主键或外键,则规划器使用主外键间的关系处理所述第二查询。
9.一种用于建立大规模并行处理数据库的装置,其特征在于,包括:处理器和存储器,所述存储器中存储有计算机程序,所述处理器被配置为执行所述程序以实现权利要求1至8任一项所述方法的步骤。
10.一种大规模并行处理数据库系统,其特征在于,包括:
至少一个存储器,以及存储在所述至少一个存储器上的数据库,所述数据库包括N个分区组,N为大于1的正整数;其中,所述N个分区组通过以下方式建立:
通过为第一数据表指定主键,以及为第二数据表指定与所述主键完全相同的外键以建立所述第一数据表和所述第二数据表的关联关系;
基于所述第一数据表的主键将所述第一数据表划分成N个第一分区,
基于所述第二数据表的外键将所述第二数据表划分成N个第二分区;
将所述N个第一分区和N个第二分区的数据分布到所述N个分区组,其中,每一个分区组包含所述N个第一分区中的一个第一分区,以及所述N个第二分区中的一个第二分区,且每一个分区组所包含的分区的数据相互关联。
11.根据权利要求10所述的系统,其特征在于,所述每一个分区组被分配有独立处理器和独立内存。
12.根据权利要求10或11所述的系统,其特征在于,所述每一个分区组为可独立运行的数据库。
13.根据权利要求10或11所述的系统,其特征在于,所述每一个所述分区组包括已复制到所述每一个所述分区组中的未分区数据表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811146623.4/1.html,转载请声明来源钻瓜专利网。