CN104903887B - 灵活的分布式大规模并行处理(mpp)系统和方法 - Google Patents

灵活的分布式大规模并行处理(mpp)系统和方法 Download PDF

Info

Publication number
CN104903887B
CN104903887B CN201380050060.8A CN201380050060A CN104903887B CN 104903887 B CN104903887 B CN 104903887B CN 201380050060 A CN201380050060 A CN 201380050060A CN 104903887 B CN104903887 B CN 104903887B
Authority
CN
China
Prior art keywords
machine
net
pod
database
subregion
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.)
Active
Application number
CN201380050060.8A
Other languages
English (en)
Other versions
CN104903887A (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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104903887A publication Critical patent/CN104903887A/zh
Application granted granted Critical
Publication of CN104903887B publication Critical patent/CN104903887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Abstract

一种大规模并行处理的实施例方法,包括:在初始机上发起管理实例,所述管理实例生成与所述初始机对应的初始分区;确定处理数据库所需的分区总数,所述分区总数包括所述初始分区;确定处理所述数据库的可用的额外机器的数量;将所述初始机与所述额外机器一起分组到一个网荚;在所述网荚的额外机器上启动所述管理实例以生成所述数据库所需的分区总数。本发明还公开了其他实施例方法及一种可执行这些方法的实施例系统。

Description

灵活的分布式大规模并行处理(MPP)系统和方法
相关申请案交叉申请
本发明要求由Yuan Dai等人于2012年10月16日递交的发明名称为“灵活的分布式大规模并行处理(MPP)系统和方法”的第13/653,308号美国专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明涉及一种大规模并行处理(MPP)数据库管理系统,以及在特定实施例中,涉及一种能将数据库分区数与固定处理器数分离的管理系统。
背景技术
大规模并行处理(MPP)的概念是指多个处理器对一个程序的协调处理,其中每个处理器处理所述程序的不同部分。每个处理器使用自身的操作系统与内存资源,各处理器之间互相通信以完成任务。
MPP数据库系统基于无共享架构,数据库表划分成多个部分,并分配至不同的处理节点。处理节点间无数据共享。当数据库查询到达时,每条查询的任务会进行划分,并根据数据分配计划与优化的执行计划将其分配给其中的一个处理节点。每个处理节点中的处理实体只管理各自的一部分数据。但是,这些处理实体在执行工作时可互相通信以交换必要的信息。每条查询可拆分成多个子查询,这些子查询可以在部分或所有处理节点上并行执行或以最佳顺序执行。子查询结果可以汇聚以进行进一步的处理,其后可根据该结果执行更多的子查询。
建立分布式系统一直是MPP数据库系统面临的一个挑战,它包括:配置机器、创建数据库、划分数据表以及分发数据段。数据如何分发以及分发在多大程度上与业务逻辑保持一致在很大程度上决定了系统的整体性能。
传统的MPP数据库系统允许数据库管理员创建数据库并分发自身的数据(即创建数据库分区)给固定数量的已提前建立的处理器。不巧的是,数据库管理员可以创建的分区数是固定的,并且直接对应于所述传统MMP数据库系统中可用的处理器的数量。也就是说,分区数和处理器数总是相同的。如果需要额外的分区,必须重复建立实例和分区的完整过程。
发明内容
一种大规模并行处理的实施例方法,包括:在初始机上发起管理实例,所述管理实例生成与所述初始机对应的初始分区;确定处理数据库所需的分区总数,所述分区总数包括所述初始分区;确定可用的处理所述数据库的额外机器的数量;将所述初始机与所述额外机器一起分组到一个网荚;在所述网荚的所述额外机器上启动管理实例以生成所述数据库所需的分区总数。
一种大规模并行处理的实施例方法,包括:在初始机上发起管理实例,所述管理实例生成与所述初始机对应的初始分区;确定处理数据库所需的分区总数,所述分区总数包括所述初始分区;确定处理所述数据库的可用的额外机器的数量,所述额外机器和所述初始机的总和小于所需的分区总数;将所述初始机与所述额外机器一起分组到一个网荚;在所述网荚的额外机器上启动管理实例以生成所述数据库所需的分区总数。
一种大规模并行处理实施例系统,包括:网荚中的初始机,所述初始机运行与用于处理数据库的初始分区对应的管理实例;所述网荚中的额外机器,所述额外机器运行用于处理所述数据库的两个管理实例,每个所述管理实例对应一个额外分区。
附图说明
为了更全面地理解本发明及其优点,请参考下文结合附图进行的描述,其中:
图1示出了用于联机分析处理(OLAP)的大规模并行处理(MPP)数据库系统的结构;
图2示出了用于联机事务处理(OLTP)的MPP数据库系统的结构;
图3示出了传统MPP数据库系统中的数据库创建场景;
图4a所示的网荚初始建立和构建时的实施例MPP数据库系统;
图4b示出了数据库创建以及为网荚中的机器定义分区策略时图4a所示的实施例MMP数据库系统;
图5a示出了当数据库分区数大于网荚中可用机器数时的实施例MPP数据库系统;
图5b示出了将新机器添加至网荚时图5a所示的实施例MPP数据库系统;
图6为信息技术(IT)管理员和数据库管理员(DBA)准备与创建数据库的概要流程图;
图7为网荚管理器创建网荚的流程图;
图8为处理数据库及其分区创建的数据库(DB)管理实例的流程图;
图9为网荚管理器构建灵活网荚和创建数据库分区的流程图;
图10为添加新机器或从网荚中删除现有机器时数据库分区的迁移流程图;
图11为示出网荚结构范例的数据表;
图12为示出数据库编目范例的数据表。
除非另有说明,在不同的图中,相应的编号和符号通常指对应的部件。图形的绘制旨在清楚地说明实施例的相关方面,但未必按比例绘制。
具体实施方式
下文将详细论述当前优选实施例的制作和使用。然而,应了解,本发明提供许多可在各种具体环境中具体实现的适用的发明性概念。所论述的具体实施例仅为说明性的,并不限制本发明的范围。
本发明将结合具体环境下的优选实施例,即大规模并行处理(MPP)数据库及其管理,进行说明,但本发明中的概念也可以适用于其他种类的数据库与数据管理系统。
现在参照图1,出于参考的目的,图1示出了用于联机分析处理(OLAP)的常规或典型的大规模并行处理(MPP)数据库系统的结构10。如图所示,客户端应用程序100呈现查询101给具有主动协调器120a的机器110a。机器110a可协同或独立于具有被动协调器120b的另一机器110b进行工作。
仍参照图1,机器110a和110b被可操作地耦合到所述互连160。顾名思义,该互连160允许机器110a和110b与额外机器通信,即,机器110c至110H。值得注意的是,机器110c、110e和110分别包括主动数据库管理实例130a、132a和134a;相对的,机器110d、110f和110h分别包括被动数据库管理实例130b、132b和134b。机器110c至110h中的每一个与其中一个数据库分区关联,即如图1中所示的分区140a至144b。在图1所示的系统结构10中,与客户端应用程序100通信的机器110a和相邻的机器110b不具有相关联的分区。
现在参照图2,出于参考的目的,图2示出了用于联机事务处理(OLTP)的常规或典型的MPP数据库系统的结构20。如图所示,客户端应用程序200将查询201提交给具有主动协调器120a和主动数据库(DB)管理实例132a的机器210a。
仍参照图2,机器210a被可操作地耦合到所述互连260。顾名思义,该互连260允许机器210b与额外机器通信,即,机器210b至210f。值得注意的是,机器210c和210e分别包括主动协调器122a和124a与主动数据库管理实例132a和134a;相对的,机器210b、210d和210f分别包括被动协调器120b、122b和124b与被动数据库管理实例130b、132b和134b。机器210a至210f中的每一个与其中一个数据库分区关联,即如图1中所示的分区140a至144b。在图2所示的系统结构20中,与客户端应用程序200通信的机器210a存在关联的分区140a。
现在参照图3,图3示出了传统大规模并行处理数据库系统30的数据库创建场景。如图3所示,客户端300可操作地耦合到所述互连320。该互连320可依次可操作地耦合到机器310a、310b和310c。每一个所述的机器310a、310b和310c分别包括与空分区340、342和344关联的主动数据库管理实例330、332和334。
图3中的各个数据库管理实例330、332和334与空分区340、342和344是同时创建的。此外,如图3所示,每台可用机器只允许一个分区。如果需要在图3所示的传统大规模并行处理数据库系统30中添加新分区或删除现有分区,必须再一次执行整个数据库创建场景。照这样的话,需要对数据库重新分区,这对信息技术(IT)管理员和/或数据库管理员(DBA)来说非常繁琐、耗时。
现在参照图4a,图4a为一种网荚401(也就是集群、资源组等)初始建立和构建时的实施例MPP数据库系统40。如图所示,客户端应用程序400将查询提交给互连420,该互连420将该查询传递给机器410a。此后,数据库管理实例430a在初始机410a上发起。
在实施例中,在此公开的数据库管理实例在与机器关联的处理器上运行或执行。如图所示,数据库管理实例430a生成与初始机410a对应的初始分区450。值得注意的是,初始分区450无任何数据或信息。
在所述数据库管理实例430a和初始分区450创建后,处理数据库所需的分区总数就确定了。该分区总数包括初始分区450。所述确定可以基于,或至少部分基于,从客户端400接收到的查询或指令。
一旦确定了所述分区总数,用于处理所述数据库的可用的额外机器410b、410c的数量也就确定了。在本文中,术语“机器”可以指和/或包含各种资源,例如,包括:处理器,存储器,存储节点,或其他基础设施。事实上,该术语“机器”并不构成限制。此外,虽然图4a示出了两个额外机器410b、410c,但是应当理解的是,可用的所述额外机器可以更多或更少。
在额外机器(即,资源)的数量确定后,所述初始机410a和所述额外机器410b、410c一起分组到所述网荚401中。值得注意的是,与网荚管理员400关联的机器410d不视为用于处理所述数据库的可用资源,因此,没有包含在网荚401中。
共同参考图4a至4b,在所述网荚401已定义后,所述管理实例430a在所述网荚401中的额外机器410b、410c上启动。如图4b所示,这会生成所述数据库所需的分区450、452和454的总数。在实施例中,机器410a、410b和410c分别包括网荚管理器440a、440b和440c。所述网荚管理器440a、440b和440c在数据库处理中可用于促进机器410a、410b和410c之间相对于所述分区450、452和454的的通信及协作。
现在参照图5,在实施例中,所述客户机500可以通过所述互连520请求不同于可用机器数量的分区数。在传统MPP数据库系统中,这种客户端请求会被拒绝。然而,本文公开的实施管理系统能够接纳这种请求,更充分的说明如下。
要处理来自客户端的对多于或少于可用资源的分区的请求,如图5a所示,该管理实例530a在初始机510a上发起。如图所示,管理实例530a生成与所述初始机510a对应的初始分区550。此后,基于该客户端500的请求来确定处理所述数据库所需的分区总数。值得注意的是,所述分区总数包括初始分区550。在图5a所示的例子中,所述客户端请求的分区数(例如,4个)超过了可用机器的数量(例如,3个)。
然后,确定可用于处理所述数据库的额外机器510b、510c。如图5a所示,所述额外机器510b和510c与所述初始机510a的总和(即,3个)小于需要的分区550至556的总数(即,4)。此后,所述初始机510a和所述额外机器510b、510c一起分组在所述网荚501中。然后,启动所述网荚501中的额外机器510b、510c上的管理实例530b、530c、及540d,从而生成所述数据库所需的分区总数据。如图5a所示,机器510c支持两个所述的管理实例530c、540D和两个所述的分区554、556。值得注意的是,与网荚管理员500关联的机器510d不视为用于处理所述数据库的可用资源,因此,没有包含在网荚501中。
共同参考图5a至5b,当一个新机器510e可用时,扩展所述网荚501以包含该新机器。在这方面,图5a中的管理实例530c与分区556从机器510c迁移到图5b所示的新机器510e上。当有新机器可用时,可重复该添加新机器(即,资源)至网荚501的过程。也就是说,网荚501具有灵活的成员关系并可随时间扩展或收缩。如图5b所示,即使管理实例530b、530c和530d在图5a所示的额外机器510b、510c上启动后,新机器510e仍然可添加到所述网荚501中。
现在参考图6,图6提供了信息技术(IT)管理员和数据库管理员(DBA)准备与创建数据库实施例的概要流程图。在方框600中,IT管理员为网荚管理进行准备。此后,在方框620中,DBA为数据库创建网荚。在方框630中,DBA创建数据库、数据表和分区。
现在参照图7,图7提供了网荚管理器创建网荚401、501的实施例流程图。在方框700中,所述网荚管理器开始创建网荚的过程。在方框710中,接收网荚资源(即,参数)的输入。这些资源或参数可包括,例如,一个计算节点、存储器等。在方框720中,所述网荚管理器验证用户是否有权创建网荚。该网荚管理器还验证用户是否有权创建网荚目录等。在方框730中,所述网荚管理器保存网荚管理员的网荚结构。
然后,在方框740中,所述网荚管理器分配存储卷或空间。该网荚管理器还在所述网荚中的其中一个节点(即机器)上创建并启动一个数据库管理实例。该网荚管理器还将存储卷附着在该实例上。在方框750中,该数据库管理实例(例如,图4a中的数据库管理实例430)在存储器中创建一个编目。此后,在方框760中,该过程结束。
现在参考图8,图8提供了处理数据库及其分区创建的数据库(DB)管理实例的流程图。如图所示,在方框800中,用于创建大规模并行处理(MPP)数据库的实施例过程开始。在方框810中,数据库管理实例(例如,图4a中的数据库管理实例430)接收数据库创建命令。在方框820中,所述创建数据库管理指令由数据库管理实例处理,该数据库管理实例验证输入参数,在存储器(例如,图4a中的空分区450)中创建数据库结构,并将数据库元数据保存至存储器的编目中。
在方框830中,数据库管理实例接收架构创建、数据表创建或数据库分区创建命令等命令。在方框840中,由数据库管理实例做出接收哪条命令的决定。如果接收到架构创建命令842,则在方框850中,数据库管理实例在关联的数据库结构下创建架构管理信息,并将架构元数据保存到存储器的编目(例如,分区450)中。如果接收到数据表创建命令844,则在方框860中,数据库管理实例在关联的数据库和架构下创建数据表结构,并将数据表元数据保存至存储器(例如,分区450)的编目中。
如果在方框840中接收到数据库(DB)创建命令846,则在方框870中,数据库管理实例记录用户决定的分区数(N),选择数据分发算法,创建数据库分区结构和元数据,相应地划分数据表从而与数据库分区适应,并将数据库分区元数据保存至存储器编目中。在方框870中,数据库管理实例还调用网荚管理器(例如,图4a中的网荚管理器440a)从而在额外机器或资源(例如,图4b中的机器410b、410c、及图5a至5b中的机器510b、510c、510e)上创建数据库管理实例。此后,在方框880中,该过程结束。
现在参照图9,图9提供了网荚管理器构建灵活网荚并创建数据库分区实施例的流程图。如图所示,在方框900中,网荚管理器(例如,图4a中网荚管理器440a)创建所需的分区数(N)。在这种情况下,网荚管理器一开始就构建灵活网荚(即,集群,资源组)并创建MPP数据库分区。在方框910中,网荚管理器通过计算每个处理节点的分区数并生成分区到处理节点的映射图来创建分区-处理器映射。该映射确保了可用节点之间工作负荷的均衡。所述映射可具有图4b所示的结构(每个处理节点有一个分区)或图5a所示的结构(每个处理节点有一个或多个分区)。在实施例中,也可以为每个分区创建主动到被动处理节点的映射图。
在方框920中,网荚管理器创建数据库管理实例。在这种情况下,网荚管理器保持原始数据库管理实例(例如,图4a中的管理实例430a)作为第一分区(分区1)的实例。然后,网荚管理器为每个处理节点创建、配置和启动主动数据库管理实例(实例430b、430c等)。然后,对于每个分区(分区2到分区N),网荚管理器分配一个存储空间(分区452,分区454等)。然后,根据分区到处理节点的映射和主动到被动处理节点的映射,将存储器附着到处理节点上的数据库管理实例。值得注意的是,每个实例将在存储空间(例如,430b至452,430c至454等)上创建编目。
在方框930中,网荚管理器保存映射信息。此时,网荚管理器将分区到处理节点映射保存在每个存储卷/空间的编目中。该网荚管理器还将主动到被动处理节点映射保存在编目中。在实施例中,该信息通过其中一个数据库管理实例输入到所述编目中,并且实例会同步所有编目。此后,在方框940中,该过程结束。
现在参考图10,图10提供了添加新机器或从网荚中删除现有机器时数据库分区迁移的实施例流程图。如图所示,在方框1000中,网荚管理器(例如,图5a至5b中的网荚管理器540a、540b、540c)能将处理节点添加至网荚以及从网荚中删除处理节点。在方框1010中,网荚管理器接收待添加或待删除的新节点(即,机器、资源)的信息。在方框1020中,网荚管理器更改分区-处理器映射。此时,该网荚管理器计算每个处理节点的分区数量,并且更改该分区到处理节点的映射图。新的映射确保了可用节点间工作负荷的均衡。例如,原始的映射可能类似图5a所示的结构,新的映射可能类似于图5b所示的结构。在实施例中,为每个分区更改主动到被动处理节点的映射图。
在方框1030中,网荚管理器在处理节点间迁移数据库分区。如果添加节点,那么对于每个节点,网荚管理器创建、配置和启动主动数据库管理实例。该网荚管理器还通过将存储空间从当前处理节点卸载并迁移到新处理节点(例如,在图5a和5b中,510c及510e中的556)从而将已识别的数据库分区移动至新指定的节点。如果存储空间是一个直接附着存储器,网荚管理器将数据复制到新指定的节点。网荚管理器还将存储空间附着到新处理节点中的数据库管理实例。
在方框1040中,网荚管理器保存映射信息。此时,网荚管理器将更新后的分区到处理节点的映射保存在每个数据库管理实例编目上。数据库管理器还将主动到被动处理节点的映射保存在编目上。在实施例中,该信息被输入到其中一个所述数据库管理实例的编目中,并且实例会同步其编目。此后,在方框1050中,该过程结束。
现在参照图11,图11提供了示出网荚结构范例的数据表50。如图所示,所述数据表50包括以下信息,例如:网荚名、网荚用户和安全信息、网荚网络信息、数据库管理实例访问信息、处理机器/节点列表、存储空间/卷及其大小的列表、集群、配置及系统管理与监控信息。在实施例中,数据表50可包括其他信息。此外,有些信息可从图11所示的数据表中删除。
现在参考图12,图12提供了示出数据库编目范例的数据表60。如图所示,所述数据表60包括以下信息,例如:数据库结构和元数据,架构/数据库结构和元数据,数据表/架构/数据库结构和元数据,数据库分区结构和元数据,分区数(N),主动分区到处理节点的映射,及主动到被动处理节点的映射。在实施例中,数据表60可包括其他信息。此外,有些信息可从图12所示的数据表中删除。
当前发明将对MPP数据库的关注改变为对数据本身的关注,而不是专注于数据库管理实例。在当前发明中,首先给MPP数据库系统分配资源池—机器/处理器、存储器、以及可能的所述MPP数据库系统允许访问/使用的内存。这些资源、处理器、存储器和其通信信道不必在开始时就构建网荚/集群(协作组)。随着数据库的建立及其分区策略的确定,所需的计算资源在需要时从分配的池中抢占,并作为集群来管理,然后启动必需数量的数据库管理实例,在实例上物理创建所述数据库分区(每个数据存储器)。在本发明中,创建的数据库分区的数量无需直接对应或匹配机器(处理器)的实际数量。例如,如果只有5台机器(处理器)可用,数据库管理员仍然可以通过允许一台机器(处理器)服务两个分区来创建10个数据库分区。当有更多的机器可用时,分区可在后期迁移至可用的处理器。
虽然本发明提供了说明性实施例,但此描述并不旨在限制本发明。所属领域的技术人员在参考该描述后,将会明白说明性实施例的各种修改和组合,以及其他实施例。因此,所附权利要求书意图涵盖任何此类修改或实施例。

Claims (8)

1.一种大规模并行处理方法,其特征在于,包括:
在初始机上发起管理实例,所述管理实例生成与所述初始机对应的初始分区;
确定处理数据库所需的分区总数,所述分区总数包括所述初始分区;
确定处理所述数据库的可用的额外机器的数量,所述分区总数大于所述初始机和所述额外机器的总和;
将所述初始机和所述额外机器一起分组到一个网荚;
根据所述分区总数和所述网荚中的机器总数生成映射图,所述映射图表示所述网荚中的每个机器对应的分区数量,所述网荚中的机器包括所述初始机和所述额外机器;
在所述网荚的所述额外机器上启动管理实例以生成所述数据库所需的分区总数;
根据所述映射图,将分区的存储空间附着到所述额外机器上的管理实例,其中,一个所述额外机器运行至少两个管理实例;
添加新机器至所述网荚得到扩展后的网荚,所述扩展后的网荚包含所述新机器;
根据所述分区总数和扩展后的所述网荚中的机器总数修改所述映射图;
将运行两个管理实例的所述额外机器上的其中一个管理实例迁移至所述新机器。
2.根据权利要求1所述的方法,其特征在于,所述网荚具有跨时间的灵活成员关系。
3.根据权利要求1所述的方法,其特征在于,当有处理所述数据库的新机器可用时,所述网荚可随时间扩展以添加新机器。
4.根据权利要求1所述的方法,其特征在于,重复所述确定额外机器的数量并将所述初始机和所述额外机分组到一起的步骤。
5.根据权利要求1所述的方法,其特征在于,当所述新机器成为可用的处理所述数据库的机器时,所述新机器便添加至所述网荚。
6.根据权利要求1所述的方法,其特征在于,其中一个所述额外机器运行至少两个管理实例,每个所述管理实例直接对应所述分区的其中一个。
7.一种大规模并行处理系统,其特征在于,包括:
网荚中的初始机,所述初始机运行与用于处理数据库的初始分区对应的管理实例;其中初始机上的管理实例用于确定数据库所需的分区总数,所述分区总数包括所述初始分区,所述分区总数包括所述初始分区;
所述网荚中的额外机器,所述额外机器运行用于处理所述数据库的两个管理实例,每个所述管理实例对应一个额外分区;
网荚管理器用于:确定处理所述数据库的可用的所述额外机器的数量;在所述额外机器上启动管理实例以生成所述数据库所需的分区总数;根据映射图,将分区的存储空间附着到所述额外机器上的管理实例,所述映射图表示所述网荚中的每个机器对应的分区数量,所述网荚中的机器包括所述初始机和所述额外机器;其中,一个所述额外机器运行至少两个管理实例;添加新机器至所述网荚得到扩展后的网荚,所述扩展后的网荚包含所述新机器;根据所述分区总数和扩展后的所述网荚中的机器总数修改所述映射图;将运行两个管理实例的所述额外机器上的其中一个管理实例迁移至所述新机器。
8.根据权利要求7所述的大规模并行处理系统,其特征在于,所述网荚具有灵活的成员关系,允许添加用于处理所述数据库的新机器。
CN201380050060.8A 2012-10-16 2013-10-16 灵活的分布式大规模并行处理(mpp)系统和方法 Active CN104903887B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/653,308 2012-10-16
US13/653,308 US9239741B2 (en) 2012-10-16 2012-10-16 System and method for flexible distributed massively parallel processing (MPP)
PCT/CN2013/085297 WO2014059927A1 (en) 2012-10-16 2013-10-16 System and Method for Flexible Distributed Massively Parallel Processing (MPP)

Publications (2)

Publication Number Publication Date
CN104903887A CN104903887A (zh) 2015-09-09
CN104903887B true CN104903887B (zh) 2019-05-10

Family

ID=50476478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380050060.8A Active CN104903887B (zh) 2012-10-16 2013-10-16 灵活的分布式大规模并行处理(mpp)系统和方法

Country Status (4)

Country Link
US (1) US9239741B2 (zh)
EP (1) EP2898435B1 (zh)
CN (1) CN104903887B (zh)
WO (1) WO2014059927A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229983B2 (en) 2012-11-30 2016-01-05 Amazon Technologies, Inc. System-wide query optimization
US10089377B2 (en) * 2014-09-26 2018-10-02 Oracle International Corporation System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment
US10180973B2 (en) 2014-09-26 2019-01-15 Oracle International Corporation System and method for efficient connection management in a massively parallel or distributed database environment
US10528596B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation System and method for consistent reads between tasks in a massively parallel or distributed database environment
US10387421B2 (en) 2014-09-26 2019-08-20 Oracle International Corporation System and method for generating size-based splits in a massively parallel or distributed database environment
US10380114B2 (en) 2014-09-26 2019-08-13 Oracle International Corporation System and method for generating rowid range-based splits in a massively parallel or distributed database environment
US10078684B2 (en) * 2014-09-26 2018-09-18 Oracle International Corporation System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment
US10089357B2 (en) * 2014-09-26 2018-10-02 Oracle International Corporation System and method for generating partition-based splits in a massively parallel or distributed database environment
US10394818B2 (en) 2014-09-26 2019-08-27 Oracle International Corporation System and method for dynamic database split generation in a massively parallel or distributed database environment
US9959332B2 (en) 2015-01-21 2018-05-01 Futurewei Technologies, Inc. System and method for massively parallel processor database
US10067969B2 (en) * 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US9875186B2 (en) * 2015-07-08 2018-01-23 Futurewei Technologies, Inc. System and method for data caching in processing nodes of a massively parallel processing (MPP) database system
US11030045B2 (en) 2015-07-28 2021-06-08 Futurewei Technologies, Inc. Apparatus and method for utilizing different data storage types to store primary and replicated database directories
US11138178B2 (en) 2016-11-10 2021-10-05 Futurewei Technologies, Inc. Separation of computation from storage in database for better elasticity
CN109117423B (zh) * 2017-06-23 2022-05-03 阿里巴巴集团控股有限公司 数据库系统的表格分区配置方法、装置和系统
US11892996B1 (en) 2019-07-16 2024-02-06 Splunk Inc. Identifying an indexing node to process data using a resource catalog
CN110263105B (zh) * 2019-05-21 2021-09-10 北京百度网讯科技有限公司 查询处理方法、查询处理系统、服务器和计算机可读介质
CN112395366A (zh) * 2019-08-19 2021-02-23 阿里巴巴集团控股有限公司 分布式数据库的数据处理及创建方法、装置及电子设备
US11829415B1 (en) 2020-01-31 2023-11-28 Splunk Inc. Mapping buckets and search peers to a bucket map identifier for searching
US11449371B1 (en) 2020-07-31 2022-09-20 Splunk Inc. Indexing data at a data intake and query system based on a node capacity threshold
US11809395B1 (en) 2021-07-15 2023-11-07 Splunk Inc. Load balancing, failover, and reliable delivery of data in a data intake and query system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625811A (en) 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
AU6412399A (en) * 1998-10-02 2000-04-26 Ncr Corporation Analytic logical data model
CN1152338C (zh) 2001-07-20 2004-06-02 华为技术有限公司 一种并行处理分布式数据库的方法和装置
US7120690B1 (en) * 2001-09-27 2006-10-10 Emc Corporation Managing a distributed directory database
US7149736B2 (en) * 2003-09-26 2006-12-12 Microsoft Corporation Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions
US8145872B2 (en) 2004-11-08 2012-03-27 International Business Machines Corporation Autonomic self-tuning of database management system in dynamic logical partitioning environment
US8126870B2 (en) * 2005-03-28 2012-02-28 Sybase, Inc. System and methodology for parallel query optimization using semantic-based partitioning
US7716336B2 (en) * 2006-04-28 2010-05-11 International Business Machines Corporation Resource reservation for massively parallel processing systems
US7809769B2 (en) * 2006-05-18 2010-10-05 Google Inc. Database partitioning by virtual partitions
US7941424B2 (en) * 2008-05-30 2011-05-10 Teradata Us, Inc. System, method, and computer-readable medium for dynamic detection and management of data skew in parallel join operations
WO2010037794A2 (en) * 2008-10-03 2010-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Monitoring mechanism for a distributed database
GB2472620B (en) 2009-08-12 2016-05-18 Cloudtran Inc Distributed transaction processing
US8326825B2 (en) * 2010-11-05 2012-12-04 Microsoft Corporation Automated partitioning in parallel database systems
US8538954B2 (en) * 2011-01-25 2013-09-17 Hewlett-Packard Development Company, L.P. Aggregate function partitions for distributed processing
US8880565B2 (en) * 2011-12-23 2014-11-04 Sap Se Table creation for partitioned tables
US8930382B2 (en) * 2012-10-10 2015-01-06 International Business Machines Corporation High performance secure data access in a parallel processing system
US9355127B2 (en) * 2012-10-12 2016-05-31 International Business Machines Corporation Functionality of decomposition data skew in asymmetric massively parallel processing databases
US8799284B2 (en) * 2012-11-30 2014-08-05 Futurewei Technologies, Inc. Method for automated scaling of a massive parallel processing (MPP) database
US9311354B2 (en) * 2012-12-29 2016-04-12 Futurewei Technologies, Inc. Method for two-stage query optimization in massively parallel processing database clusters

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法

Also Published As

Publication number Publication date
EP2898435A4 (en) 2015-12-02
EP2898435B1 (en) 2018-12-12
EP2898435A1 (en) 2015-07-29
US20140108633A1 (en) 2014-04-17
US9239741B2 (en) 2016-01-19
CN104903887A (zh) 2015-09-09
WO2014059927A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
CN104903887B (zh) 灵活的分布式大规模并行处理(mpp)系统和方法
Chu et al. From theory to practice: Efficient join query evaluation in a parallel database system
Tao et al. Minimal mapreduce algorithms
EP2743845B1 (en) Graph traversal operator inside a column store
US8984516B2 (en) System and method for shared execution of mixed data flows
US8214356B1 (en) Apparatus for elastic database processing with heterogeneous data
Wu et al. Semstore: A semantic-preserving distributed rdf triple store
US20070038658A1 (en) Communication optimization for parallel execution of user-defined table functions
Reguieg et al. Event correlation analytics: scaling process mining using mapreduce-aware event correlation discovery techniques
EP3513333B1 (en) Managing transactions requesting non-existent index keys in database systems
WO2014117295A1 (en) Performing an index operation in a mapreduce environment
Abdelaziz et al. Combining vertex-centric graph processing with SPARQL for large-scale RDF data analytics
Tian et al. Joins for Hybrid Warehouses: Exploiting Massive Parallelism in Hadoop and Enterprise Data Warehouses.
Ding et al. ComMapReduce: An improvement of MapReduce with lightweight communication mechanisms
Zhang et al. Efficient processing distributed joins with bloomfilter using mapreduce
Kllapi et al. Distributed query processing on the cloud: the optique point of view (short paper)
Al Jawarneh et al. Cost-effective strategies for provisioning NoSQL storage services in support for industry 4.0
Shahvarani et al. Distributed stream KNN join
Alsubaiee et al. Asterix: scalable warehouse-style web data integration
Elshawi et al. Big graph processing systems: State-of-the-art and open challenges
Ramdane et al. SkipSJoin: A new physical design for distributed big data warehouses in hadoop
Siddique et al. Distributed skyline computation of vertically splitted databases by using mapreduce
Rajalakshmi et al. Research Challenges and Future Directions for Data Storage in Cloud Computing Environment
Tonini et al. A distributed data allocation algorithm for biological databases
Yue et al. Join query processing in data quality management

Legal Events

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