CN109388638A - 用于分布式大规模并行处理数据库的方法及系统 - Google Patents

用于分布式大规模并行处理数据库的方法及系统 Download PDF

Info

Publication number
CN109388638A
CN109388638A CN201811146623.4A CN201811146623A CN109388638A CN 109388638 A CN109388638 A CN 109388638A CN 201811146623 A CN201811146623 A CN 201811146623A CN 109388638 A CN109388638 A CN 109388638A
Authority
CN
China
Prior art keywords
data
tables
subregion
partition group
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811146623.4A
Other languages
English (en)
Other versions
CN109388638B (zh
Inventor
卡米尼·杰格缇雅尼
杰森·扬·孙
沈秀棠
甘嘎瓦拉·普拉萨德·瓦拉库汝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/663,327 external-priority patent/US9920415B2/en
Priority claimed from US13/663,237 external-priority patent/US9195701B2/en
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority claimed from CN201380051321.8A external-priority patent/CN104871153B8/zh
Publication of CN109388638A publication Critical patent/CN109388638A/zh
Application granted granted Critical
Publication of CN109388638B publication Critical patent/CN109388638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种大规模并行处理的方法,包括:将主键分配给数据库中的第一数据表、将外键分配给所述数据库中的第二数据表,所述第二数据表的外键与所述第一数据表的主键完全相同;确定所述数据库需要的分区组数;基于分配的所述主键和需要的分区组数将所述第一数据表划分成多个第一分区,基于分配的所述外键和需要的分区组数将所述第二数据表划分成多个第二分区;根据分区情况将所述第一分区和第二分区分发到所述分区组。

Description

用于分布式大规模并行处理数据库的方法及系统
技术领域
本发明涉及一种大规模并行处理(MPP)数据库管理系统,以及在特定实施例中,涉及一种能将数据库分区数与固定处理器数分离的管理系统。
背景技术
大规模并行处理(MPP)的概念是指多个处理器对一个程序的协调处理,其中每个处理器处理所述程序的不同部分。每个处理器使用自身的操作系统与内存资源,各处理器之间互相通信以完成任务。
MPP数据库系统基于无共享架构,数据库表划分成多个部分,并分配至不同的处理节点。处理节点间无数据共享。当数据库查询到达时,每条查询的任务会进行划分,并根据数据分配计划与优化的执行计划将其分配给其中的一个处理节点。每个处理节点中的处理实体只管理各自的一部分数据。但是,这些处理实体在执行工作时可互相通信以交换必要的信息。每条查询可拆分成多个子查询,这些子查询可以在部分或所有处理节点上并行执行或以最佳顺序执行。子查询结果可以汇聚以进行进一步的处理,其后可根据该结果执行更多的子查询。
建立分布式系统及分发数据一直是MPP数据库系统面临的一个挑战。数据如何分发以及分发在多大程度上与业务逻辑保持一致在很大程度上决定了系统的整体性能。
发明内容
一种大规模并行处理数据库中管理数据的方法,包括:将主键分配给数据库中的第一数据表、将外键分配给所述数据库中的第二数据表,所述第二数据表的外键与所述第一数据表的主键完全相同;确定所述数据库需要的分区组数;基于分配的所述主键和需要的分区组数将所述第一数据表划分成多个第一分区;基于分配的所述外键和需要的分区组数将所述第二数据表划分成多个第二分区;根据分区情况将所述第一分区和第二分区分发到所述分区组。
一个用来在逻辑上将数据库拆分为多个独立运行的小数据库的实施例,包括:确定数据库需要的分区组数;基于第一属性与需要的分区组数将第一数据表划分成多个第一分区;基于第二属性与需要的分区组数将第二数据表划分成多个第二分区;根据分区情况将所述第一分区和第二分区分发到所述分区组。
一种大规模并行处理数据库系统,包括:处理器、以及数据库建立模块,当数据库建立模块被处理器执行时,用于分配主键给数据库中的第一数据表,分配外键给所述数据库中的第二数据表,其中所述第二数据表的外键与所述第一数据表的主键完全相同;确定数据库需要的分区组数;基于分配的所述主键和需要的分区组数将所述第一数据表划分成多个第一分区;基于分配的所述外键和需要的分区组数将所述第二数据表划分成多个第二分区;根据分区情况将所述第一分区和第二分区分发到所述分区组。
一种大规模并行处理数据库系统,包括:至少一个内存,以及存储在至少一个内存上的数据库,所述数据库包括第一数据表和第二数据表,其中所述第一数据表和第二数据表通过以下建立:分配主键给所述数据库中的所述第一数据表和外键给所述数据库中的第二数据表,其中所述第二数据表的外键与所述第一数据表的主键完全相同;确定数据库需要的分区组数;基于分配的所述主键和需要的分区组数将所述第一数据表划分成多个第一分区;基于分配的所述外键和需要的分区组数将所述第二数据表划分成多个第二分区;根据分区情况将所述第一分区和所述第二分区分发到所述分区组。
附图说明
为了更全面地理解本发明及其优点,请参考下文结合附图进行的描述,其中:
图1示出了具有无分区的数据表(例如,t1至t4)的传统数据库;
图2示出了具有已分区数据表(例如,t1至t3)和无分区数据表(例如t4)的传统数据库;
图3示出了实施例数据库,其具有包含了已分区数据表(例如,t1至t3)和无分区数据表(例如,t4)的各类分区(t1-p1、t1-p2、t1-p3、t2-p1等)的分区组(例如,DBPartition-1、DBPartition-2、DBPartition-3);
图4为创建图3中的数据库、数据表和分区组的概要流程图;
图5为创建图3中分区组的流程图;
图6为用于流程图3中分区组的插入操作的流程图;
图7为从图3的分区组中检索数据过程的流程图;
图8为在图3的分区组中更新数据过程的流程图;
图9为一种用于建立大规模并行处理系统的装置;
图10为一种大规模并行处理数据库系统。
除非另有说明,在不同的图中,相应的编号和符号通常指对应的部件。图形的绘制旨在清楚地说明实施例的相关方面,但未必按比例绘制。
具体实施方式
下文将详细论述当前优选实施例的制作和使用。然而,应了解,本发明提供许多可在各种具体环境中具体实现的适用的发明性概念。所论述的具体实施例仅为说明性的,并不限制本发明的范围。
本发明将结合具体环境下的优选实施例,即大规模并行处理(MPP)数据库及其管理,进行说明,但本发明中的概念也可适用于其他种类的数据库与数据管理系统。
现在参照图1,出于参考的目的,图1示出了无分区的传统或典型的大规模并行处理(MPP)数据库10。如图所示,数据库10包括四个数据表12(即t1至t4)。每个所述数据表12包括若干列14(例如,c1、c2、c3等)。随着附加数据或新数据的填充,数据表12的大小会快速扩张,使单个处理器无法有效处理。为提高效率,可对变大的数据表14进行分区。
现在参照图2,出于参考的目的,图2示出了具有已分区数据表18(例如,t1至t3)和无分区数据表20(例如,t4)的传统或典型的大规模并行处理(MPP)数据库20。如图所示,已分区数据表18(例如,t1至t3)已划分为分区22(例如,t1-分区1、t1-分区2、t1-分区3、t2-分区2等)。其中一个所述数据表20(例如,t4)与其他数据表相比可能相对较小,没有进行分区。不巧的是,每个所述分区22与所述未分区数据表20被分配给了不同的处理器,并保存在不同的内存或存储设备上。因此,对所述数据库16的任何查询可能要使用连接命令,需要使用数个处理器,并必须访问数个不相关的内存或存储设备,以在各个分区中检索数据。这种查询过程效率较低。
现在参照图3,图3示出了一种大规模并行处理(MPP)数据库24的实施例。图3中的数据库24通过分配主键给第一数据表26(即t1,分区前)、分配外键给第二数据表28(即t2,分区前)而创建。所述第二数据表28的外键与所述第一数据表26的主键完全相同。这样,第一、第二数据表之间就建立了关系。所述主/外键可以基于数据类型或数据表每列(例如,c1、c2、c3等)存储的值分配给每个所述的数据表。
还可以将主、外键分配给数据库24中的第三数据表30(例如,t3,分区前)或者附加数据表。举例来说,第三数据表30的外键与第一数据表26的主键或者第二数据表28的主键完全相同。这样,第一、第三数据表之间或者第二、第三数据表之间就建立了关系。这个给数据表分配键的过程可以类似方式对附加数据表重复执行。
在所述键分配后,分区组32(例如,DBPartitions、容器等)的数量就确定了。举例来说,在图3中选择了三个所述的分区组32。应当认识到,可以基于,例如,数据库24中的数据表26、28、30的大小,可用的处理器或存储器等,选择更多或更少的分区组32。在实施例中,每一个所述的分区组32可作为其独立的数据库。也就是说,所述分区组32可作为多个能够联合或独立运行的小数据库。
仍然参照图3,基于分配的主键和选择的分区组32的数量,第一数据表26分区为或者划分为多个第一分区34(即t1-p1、t1-p2、t1-p3)。类似地,基于分配的外键和选择的分区组32的数量,第二数据表28分区为或者划分为多个第二分区36(即t2-p1、t2-p2、t2-p3)。同样,基于分配的外键和确定的分区组32的数量,第三数据表30分区为或者划分为多个第三分区38(即t3-p1、t3-p2、t3-p3)。值得注意的是,图3中第一分区34、第二分区36、及第三分区38的数量是相同的。也就是说,第一、第二、第三数据表26、28、30是基于正使用的分区组32的数量平均划分的。例如,假设有四个所述分区组32正在使用,则数据表26、28、30会被划分成四份或四个部分,而不是三份或三个部分。在实施例中,所述分区组32还包括与对应的分区组32中的数据相关的索引、编目、权限等。
在数据表26、28、30(即t1至t3)如上所述进行划分后,第一、第二、第三分区34、36、38分发给分区组32,如图3所示。图3中的第四数据表40(即t4)与其他数据表(t1至t3)相比可能相对较小,没有进行分区并被复制到各个所述的分区组32。
因为数据表26、28、30的分区过程使用了主-外键关系,因此每个分区组32收集的分区中的数据存在某种程度的相关。也就是说,每个分区组32包含容纳通过一些属性相连的数据的分区。因此,执行查询时,效率得到提高。事实上,与特定查询对应的数据此时可能或更可能在单个分区组32中找到。因此,执行连接命令、访问位于不同地方的分区等需求将会减小或消除。
在实施例中,在所述分区组32建立后,每个所述的分区组32会被分配到独立处理器和/或独立内存。这样,每个所述分区组32拥有自身的资源。
现在参照图4,图4提供了创建图3中数据库24、数据表26、28、30和分区组32的概要流程图。如图所示,在方框100中,所述过程开始。在方框110中,创建所述数据库24。此后,在方框120中,创建数据表26、28、30。在方框130中,创建所述分区组32,例如,如图3所示。
现在参照图5,图5提供了创建图3中分区组32的流程图。如图所示,在方框200中,所述过程开始。在方框中210,创建分区组32(也就是说,DBPartitions)开始。在方框220中,判断是否指定了外键。如果外键未指定,则在方框240中,使用个别的数据表列属性。但是,如果外键已指定,则在方框230中,使用主键-外键关系。
仍然参照图5,在方框250中,创建分区组32并将其分配到处理器和存储器中。此后,在方框260中,编目中,例如,更新了元数据等。在方框270中,创建索引,在方框280中,通过存储索引信息更新所述分区组32。然后,在方框290中,所述分区组32过程结束,架构已备好使用。
现在参照图6,图6提供了用于填充图3中分区组的插入操作的流程图。如图所示,在方框300中,所述过程开始。在方框310中,从客户端收到插入语句。在方框320中,规划器接收查询、读取编目、决定将数据插入到哪一个分区组32。在方框330中,选择其中一个所述分区组32,将数据插入到该分区组。在方框340中,如有需要,则修改所述索引(例如,使用图5中方框270中的过程)。此后,在方框350中,过程结束。
现在参照图7,图7提供了从图3的分区组32中检索数据过程的流程图。如图所示,在方框400中,所述过程开始。在方框410中,从客户端收到选择语句。在方框420中,判断所述选择语句是否涉及多张数据表。如果不涉及多张数据表,则该过程转到方框450,以下将会进行更详细的描述。但是,如果涉及多张数据表,则在方框430中,判断所述决策涉及的所有列是否为主或外键。如果所述决策涉及的所有列是主/外键,则该过程转到方框450,以下将会进行更详细的描述。
仍然参照图7,在方框440中,所述规划器使用主外键间的关系简化所述查询,并尽可能少地涉及分区组32。因为分区组32已通过主外键关系组织,查询处理应该更有效率。接下来,在方框450中,所述规划器读取编目,通过应用算法确定数据的位置,并将计划传递给查询涉及的每个分区组32的优化器。然后,在方框460中,从一个或多个分区组32中收集数据。在方框470中,输出数据至客户端。此后,在方框480中,过程结束。
现在参照图8,图8提供了在图3的分区组32中更新数据过程的流程图。如图所示,在方框500中,所述过程开始。在方框510中,从客户端收到更新语句。在方框520中,判断待更新的字段是否为重要列(即,作为主或外键)。如果否,在方框530中,所述规划器读取编目,通过应用算法确定数据的位置,并将计划传递给查询涉及的每个所述分区组32的优化器。此后,在方框540中,更新每一个涉及的分区组32;在方框610中,所述过程结束。
仍然参照图8,如果在方框520中判断待更新字段为重要列,则在方框550中,所述规划器读取编目,通过应用算法确定数据的位置,将计划传递给查询涉及的每个分区组32的优化器。在方框560中,判断对元组(即,行)的更新是否导致分区组32的变化。如果否,则在方框570中,在同一分区组32内执行更新,并且该过程将转至方框600,以下将会进行更详细的描述。
但是,如果所述更新导致变化,则在方框580中,所述更新被插入到新的分区组32,同时旧的更新从旧分区组中删除。在方框590中,更新这两个分区组(即,新分区组和旧分区组)的索引。然后,在方框600中,判断是否有更多的行待更新。如果有,则返回至过程中的方框560;如果没有,则在方框610中,所述过程结束。
现在参照图9,图9公开了一种用于建立大规模并行处理系统的装置42。在实施例中,所述装置42为便携式计算机、笔记本电脑、台式电脑、服务器或其他处理设备。在实施例中,所述装置42包括与数据库建立模块46通信的处理器44,所述数据库建立模块46可以存储或位于内存中(未示出)。当所述数据库建立模块46被处理器44执行时,所述数据库建立模块46用于在服务器、云等上面建立或以其他方式创建图3中的数据库24。
在实施例中,当所述数据库建立模块46被处理器44执行时,所述数据库建立模块46将主键分配给数据库中的第一数据表、将外键分配给数据库中的第二数据表。值得注意的是,所述第二数据表的外键与所述第一数据表的主键完全相同或匹配。所述数据库建立模块46还确定数据库需要的分区组数,基于分配的所述主键和需要的分区组数将第一数据表划分成多个第一分区,基于分配的所述外键和需要的分区组数将第二数据表划分成多个第二分区,然后根据分区情况将第一分区和第二分区分发到分区组。
在实施例中,所述处理器44用于将独立处理器和独立内存中的至少一个分配给每个所述分区组32,并将未分区的数据表(例如,t4)复制到每个所述分区组32。
现在参照图10,图10示出了一种大规模并行处理数据库系统48。所述大规模并行处理数据库系统48用于或适用于实现或利用本文公开的过程、方法、及动作。在实施例中,所述系统48为便携式计算机、笔记本电脑、台式电脑、服务器或其他处理设备。在实施例中,所述系统48包括至少一个内存50,以存储,例如,图3中的数据库24。
图10的数据库24包括第一数据表(例如,图3中的t1)和第二数据表(例如,图3中的t2)。所述第一数据表和第二数据表通过分配主键给数据库24中的第一数据表、分配外键给数据库24中的第二数据表而建立。所述第二数据表的外键与所述第一数据表的主键完全相同或匹配。所述第一数据表和第二数据表还通过以下建立:确定所述数据库需要的分区组数,基于分配的所述主键和需要的分区组数将第一数据表划分成多个第一分区,基于分配的所述外键和需要的分区组数将第二数据表划分成多个第二分区,然后根据分区情况将第一分区和第二分区分发到分区组。
应当认识到,本发明从整个数据库的角度而不是从个别数据表的角度呈现了在数据表中分发数据的方法。这样,更多的可能属于不同数据表的相关数据位于同一分区组32。这样,在查询执行时性能得以提升。事实上,本发明呈现了在存储时为加快访问而去规范化数据并将相关数据一起打包到分区组32中的过程。
虽然本发明提供了说明性实施例,但此描述并不旨在限制本发明。所属领域的技术人员在参考该描述后,将会明白说明性实施例的各种修改和组合,以及其他实施例。因此,所附权利要求书意图涵盖任何此类修改或实施例。

Claims (15)

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所述的系统,其特征在于,所述每一个所述分区组包括已复制到所述每一个所述分区组中的未分区数据表。
14.根据权利要求10至13任一项所述的系统,其特征在于,所述每一个所述分区组包括N个第三分区中的一个,所述N个第三分区是基于第三数据表的外键划分得到的,所述第三数据表的外键与所述第二数据表的主键相同。
15.一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于,所述程序(指令)被处理器执行时实现权利要求1至8任一项所述方法的步骤。
CN201811146623.4A 2012-10-29 2013-10-29 用于分布式大规模并行处理数据库的方法及系统 Active CN109388638B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/663,327 US9920415B2 (en) 2010-10-19 2012-10-29 Mitigation and elimination of tin whiskers
US13/663,237 2012-10-29
US13/663,237 US9195701B2 (en) 2012-10-29 2012-10-29 System and method for flexible distributed massively parallel processing (MPP) database
CN201380051321.8A CN104871153B8 (zh) 2012-10-29 2013-10-29 用于分布式大规模并行处理数据库的方法和系统
PCT/CN2013/086139 WO2014067449A1 (en) 2012-10-29 2013-10-29 System and method for flexible distributed massively parallel processing (mpp) database

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380051321.8A Division CN104871153B8 (zh) 2012-10-29 2013-10-29 用于分布式大规模并行处理数据库的方法和系统

Publications (2)

Publication Number Publication Date
CN109388638A true CN109388638A (zh) 2019-02-26
CN109388638B CN109388638B (zh) 2022-04-05

Family

ID=80882342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811146623.4A Active CN109388638B (zh) 2012-10-29 2013-10-29 用于分布式大规模并行处理数据库的方法及系统

Country Status (1)

Country Link
CN (1) CN109388638B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116756150A (zh) * 2023-08-16 2023-09-15 浩鲸云计算科技股份有限公司 一种Mpp数据库大表关联加速方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038784A1 (en) * 2001-02-27 2005-02-17 Oracle International Corporation Method and mechanism for database partitioning
US7203686B1 (en) * 2003-12-30 2007-04-10 Ncr Corp. Partition join in a partitioned database system
CN101876983A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 数据库分区方法与系统
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN102254035A (zh) * 2011-08-09 2011-11-23 广东电网公司电力科学研究院 关系数据库测试方法及测试系统
CN102395962A (zh) * 2009-03-11 2012-03-28 甲骨文国际公司 对数据库表的哈希和列表组合划分

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038784A1 (en) * 2001-02-27 2005-02-17 Oracle International Corporation Method and mechanism for database partitioning
US7203686B1 (en) * 2003-12-30 2007-04-10 Ncr Corp. Partition join in a partitioned database system
CN102395962A (zh) * 2009-03-11 2012-03-28 甲骨文国际公司 对数据库表的哈希和列表组合划分
CN101876983A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 数据库分区方法与系统
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
US20120109888A1 (en) * 2010-07-28 2012-05-03 Beijing Borqs Software Technology Co., Ltd. Data partitioning method of distributed parallel database system
CN102254035A (zh) * 2011-08-09 2011-11-23 广东电网公司电力科学研究院 关系数据库测试方法及测试系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WIKIPEDIA: "partition(database)", 《HTTPS://EN.WIKIPEDIA.ORG/W/INDEX.PHP?TITLE=PARTITION_(DATABSE)&OLDID=506792667》 *
刘姝: "DB2 数据库设计及优化技术研究", 《技术探讨》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116756150A (zh) * 2023-08-16 2023-09-15 浩鲸云计算科技股份有限公司 一种Mpp数据库大表关联加速方法
CN116756150B (zh) * 2023-08-16 2023-10-31 浩鲸云计算科技股份有限公司 一种Mpp数据库大表关联加速方法

Also Published As

Publication number Publication date
CN109388638B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN104871153B (zh) 用于分布式大规模并行处理数据库的方法和系统
Abdelaziz et al. A survey and experimental comparison of distributed SPARQL engines for very large RDF data
CN107710193B (zh) 分布式计算环境的数据放置控制
US5878409A (en) Method and apparatus for implementing partial declustering in a parallel database system
CN105009110B (zh) 大规模并行处理(mpp)数据库的自动伸缩方法
US9195701B2 (en) System and method for flexible distributed massively parallel processing (MPP) database
US7991763B2 (en) Database query optimization utilizing remote statistics collection
Hubail et al. Couchbase analytics: NoETL for scalable NoSQL data analysis
US20200250192A1 (en) Processing queries associated with multiple file formats based on identified partition and data container objects
CN104111936A (zh) 数据查询方法和系统
Tatemura et al. Partiqle: An elastic SQL engine over key-value stores
JP6418431B2 (ja) 効率的な1対1結合のための方法
US6470331B1 (en) Very large table reduction in parallel processing database systems
Gao et al. GLog: A high level graph analysis system using MapReduce
Tatemura et al. Microsharding: a declarative approach to support elastic OLTP workloads
Lwin et al. Non-redundant dynamic fragment allocation with horizontal partition in Distributed Database System
Fuaad et al. A Survey on Distributed Databases Fragmentation, Allocation and Replication Algorithms
Ho et al. Data partition optimization for column-family NoSQL databases
Liroz-Gistau et al. Dynamic workload-based partitioning algorithms for continuously growing databases
Schreiner et al. A hybrid partitioning strategy for NewSQL databases: the VoltDB case
Khan Efficient Partitioning of Large Databases without Query Statistics.
CN109388638A (zh) 用于分布式大规模并行处理数据库的方法及系统
Matalqa et al. The effect of horizontal database table partitioning on query performance.
Zhang et al. GraphA: Efficient partitioning and storage for distributed graph computation
CN107451142B (zh) 在数据库中写入和查询数据的方法与装置及其管理系统和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant