CN106462593A - 大规模并行处理数据库的系统和方法 - Google Patents
大规模并行处理数据库的系统和方法 Download PDFInfo
- Publication number
- CN106462593A CN106462593A CN201580017344.6A CN201580017344A CN106462593A CN 106462593 A CN106462593 A CN 106462593A CN 201580017344 A CN201580017344 A CN 201580017344A CN 106462593 A CN106462593 A CN 106462593A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- back end
- resource
- message
- resource manager
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在一个实施例中,一种管理数据库资源的方法包括:从查询队列中选择第一查询,并由全局资源管理器向多个数据节点的一部分传输多个预留资源消息。所述方法还包括:所述全局资源管理器从所述多个数据节点的一部分接收多个应答消息,当所述多个应答消息是肯定应答时,所述全局资源管理器向协调节点传输执行查询消息。
Description
相关申请案交叉申请
本申请要求于2014年4月2日由Holly Zeng Casaletto和Qingqing Zhou递交的发明名称为“大规模并行处理数据库的系统和方法”的第14/243,461号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文。
技术领域
本发明涉及数据库的系统和方法,尤其涉及大规模并行处理数据库的系统和方法。
背景技术
为提高查询性能和平台可拓展性,在二十世纪八十年代末和九十年代初,大规模并行处理(massively parallel processing,MPP)数据库管理系统发展起来了。MPP数据库包括运行在数据库不同部分的多个处理器对程序,如数据库管理系统,的协调处理。其他数据库系统包括针对如联机分析处理(online analytic processing,OLAP)和数据仓库(data warehouse,DW)等应用的对称式并行系统(symmetrically parallel system,SMP)。
MPP数据库系统基于无共享架构,每个组成节点有自己的中央处理器(centralprocessing unit,CPU)、存储器和存储子系统。每个数据节点仅管理自己部分的数据和自己的资源,不与其他节点共享数据。然而,这些数据节点可能在执行期间与其他节点交换数据。当协调节点调度数据库查询时,查询的执行任务是划分并根据数据分布分配给一些或全部数据处理节点。执行数据库查询涉及资源,包括每个个体数据节点本地管理的存储器、CPU、磁盘输入/输出单元和其他资源。基于数据分布,划分的任务部分在不同节点上需要不同数量的资源。当并行执行很多并发查询时,它们对资源的不同要求可能会导致数据节点上的自由资源的偏斜分布,使得下一调度的查询处于在资源不足的节点上进行部分执行的危险中。在MPP数据库系统中的一个挑战是对齐带有跨所有数据节点的工作负载的资源,防止整个系统因单点资源不足(single point resource insufficiency,SPRI)而使性能和吞吐量下降。
发明内容
一种管理数据库资源的实施例方法包括从查询队列中选择第一查询,全局资源管理器向多个数据节点的一部分传输多个预留资源消息。所述方法还包括所述全局资源管理器从所述多个数据节点的一部分接收多个应答消息,且当所述多个应答消息是肯定应答时,所述全局资源管理器向协调节点传输执行查询消息。
另一种管理数据库资源的实施例方法包括数据节点向全局资源管理器传输多个候选查询,其中,所述数据节点有足够资源来执行所述多个候选查询,且所述数据节点从所述全局资源管理器接收预留资源消息。所述方法也包括预留所述数据节点的部分资源,其中,预留资源消息指示所述部分资源;数据节点向所述全局资源管理器传输应答消息,其中,当成功预留所述部分资源时,所述应答消息是肯定应答,当未成功预留所述部分资源时,所述应答消息是否定应答。另外,所述方法包括所述数据节点从协调节点中接收执行查询消息。
一种实施例计算机包括处理器和计算机可读取存储介质,用于存储供所述处理器执行的程序。所述程序包括指令,用于:从查询队列中选择第一查询,向多个数据节点的一部分传输多个预留资源消息。所述程序也包括指令,用于:从所述多个数据节点的一部分接收多个应答消息,且当所述多个应答消息是肯定应答时,向协调节点传输执行查询消息。
管理数据库资源的实施例系统包括资源管理器,用于配置在有足够资源执行多个候选查询的数据节点,其中所述资源管理器用于:
向全局资源管理器传输所述多个候选查询;
从所述全局资源管理器接收预留资源消息,以响应所述多个候选查询传输;
预留所述预留资源消息指示的所述数据节点的部分资源;
向所述全局资源管理器传输应答消息,其中,当成功预留所述部分资源时,所述应答消息是肯定应答,当未成功预留所述部分资源时,所述应答消息是否定应答;
其中,从所述全局资源管理器通知的协调节点接收执行查询消息,以响应肯定应答传输。
上述宽泛地概括了本发明实施例的特征,以便能够更好理解以下本发明详细描述。以下将描述本发明实施例其他的特征和优势,其构成本发明权利要求书的主体。本领域的技术人员应当理解,所公开的概念和特定实施例易被用作修改或设计其他实现与本发明相同的目的的结构或过程的基础。本领域的技术人员还应当意识到,这种等同构造不脱离所附权利要求书所阐述的本发明的精神和范围。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:
图1示出了一种大规模并行处理(massively parallel processing,MPP)数据库系统的实施例;
图2示出了一种在MPP数据库中管理资源的方法实施例的流程图;
图3示出了在MPP数据库中管理资源的实施例消息图;
图4示出了一种在全局资源管理器中进行管理资源的方法实施例的流程图;
图5示出了一种在数据节点中进行管理资源的方法实施例的流程图;
图6示出了一种在协调节点中进行管理资源的方法实施例的流程图;
图7示出了一种通用计算机系统实施例的方块图。
除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
一实施例涉及一种管理资源使得大规模并行处理器(massively parallelprocessor,MPP)数据库系统中的工作负载执行最大化的机制。在MPP数据库系统中,跨多个节点划分数据,调度工作负载以在一些或所有数据节点上并行执行。然而,数据划分可能不会跨节点平均分配,且节点上自由资源的数量差别可能会很大。在一个示例中,当调度查询时,MPP数据库系统没有考虑任何个体节点的资源可用性。这可能导致一个节点的资源不足,使得其他节点变慢或查询失控。
一实施例包括两个资源管理层之间的三阶段通信协议,因此在调度查询进行执行前,所述两层交流资源承诺,该承诺通常保证足够资源。在一个示例中,MPP数据库集群配置有一个或几个协调节点和多个数据处理节点。协调节点与数据库客户端相协调并向数据处理节点调度查询以进行执行。协调节点和数据节点一起组成MPP数据库集群。MPP集群可以有200个或更多节点。
在单个非分布式数据库管理系统中,因为工作负载和资源物理上都是系统本地的,所以工作负载和资源的平衡可由系统的组成资源管理器管理,不需要节点外部的任何通信。然而,在分布式数据库管理系统中,支持数据处理所需的资源是分布式的。一个实施例提供两层资源管理机制,其中,全局资源管理器全局范围管理工作负载,而本地资源管理器用三阶段通信协议以分布式方式管理数据节点上的资源,来促进信息交互。
一个实施例将工作负载分配到有预留资源的数据处理节点。在MPP数据库系统上存在两层(two layer,2L)资源管理:作为协调节点的集中工作负载调度器的全局资源管理器和带有管理本地资源的个体资源管理器的数据节点。所述全局资源管理器在本地资源管理器中协调,以允许执行查询。使用带有子循环优化的三阶段调度(three phasedispatching,3PD)协议。全局资源管理器向本地资源管理器传输查询适应一组查询的资源充足性的初始消息。本地资源管理器回复其能适应的查询集合。全局资源管理器取所有从本地资源管理器返回的集合的交集,选择待调度的查询。然后全局资源管理器向本地资源管理器发出第二消息,要求其预留资源。如果预留成功,本地资源管理器回复肯定应答,如果预留未成功则回复否定应答。如果且仅如果所有本地资源管理器发回肯定应答,全局资源管理器向协调节点发送信号使其调度查询。任意一个否定回应意味着还不能调度查询。当交集产生的集合的查询多于一个时,进行子循环优化,其中,阶段2和阶段3按照子循环重复直到没有候选查询可调度。该两层三阶段调度(two-layer three-phase dispatching,2L3PD)协议促进向有执行负载所需资源数量的数据节点调度数据处理负载。
图1示出了实施例MPP数据库系统的架构100。协调节点从客户端接收查询。然后,协调节点,如协调节点102或协调节点104开始查询。尽管画出两个协调节点,但可能出现更少或更多协调节点。协调节点(coordinator node,CN)在多个数据节点上协调查询。
全局层,或全局资源管理器106,也称为全局工作负载管理器,逻辑上是集中组件,其维护接收协调节点提交的用户查询的不同优先等级队列并与本地层协调调度资源。资源管理集中在全局层而不是分布在每个协调节点避免了系统中有多个竞争资源的同一优先等级的队列,这可能会导致系统中一些协调节点资源匮乏。
全局资源管理器(global resource manager,GRM)106耦合到协调节点102和104。协调节点向全局资源管理器传输查询进行调度。当全局资源管理器106批准所述查询进行调度时,通知产生所述查询的协调节点,协调节点向涉及的数据节点发起执行。
本地层分布在每个数据处理节点上,这可记录该节点上的自由资源。图1画出了四个数据节点(data node,DN):数据节点108、数据节点110、数据节点112和数据节点114,但可能会使用更少或更多的数据节点。每个数据节点108、110、112和114分别有一个本地资源管理器(local resource manager,LRM):本地资源管理器116、118、120和122。数据节点在其自己资源上进行查询。返回结果到协调节点。
图2示出了MPP系统两层资源管理中的管理资源的方法的流程图130。首先,在步骤132中,所述方法开始于:协调节点从客户端接收查询。在协调节点、全局资源管理器和数据节点之间已经存在连接。
在步骤134中,协调节点提交带有其优化计划的解析后的查询到全局资源管理器上的队列。
然后,在步骤136中,全局资源管理器通过三阶段调度协议(three-phasedispatching protocol,3PD)与本地资源管理器通信,确定是否有用于执行查询的充足资源。全局资源管理器询问数据节点他们有资源进行哪些查询,且数据节点回应。全局资源管理器选择可能进行的查询,并请求数据节点为该查询预留资源。数据节点回应指示资源预留成功的应答消息。
接下来,在步骤138中,全局资源管理器确定会允许执行哪个查询。一次只能批准一个查询。当没有批准所述查询时,在步骤140中,所述查询留在队列中并等待再次尝试。然后,重复步骤136来确定资源可用性。当批准查询时,在步骤142中,全局资源管理器通知协调节点来调度所述查询。
在步骤144中,协调节点通知数据节点执行所述查询,且数据节点执行所述查询。
最后,在步骤146中,数据节点返回查询结果给协调节点。同时,数据节点向全局资源管理器发送信号指示数据节点的资源现在是可用的。然后系统返回到步骤136以确定其他查询的资源。
全局资源管理器和本地资源管理器之间的通信有三阶段调度协议。因为全局资源管理器总是从事一组资源的查询,所以三阶段协议是有益的。全局资源管理器在全部数据节点的支持下在阶段2中找到哪一组能执行之前,本地资源管理器在阶段1中只能回应适应执行的意图,但是还不能预留资源。这有益于查询一组查询而不是仅仅一个查询。在调度批准一列不能执行的查询后的能执行的查询时,一次查询一个查询可能效率低。必须等到执行该序列中所有其他查询后,才能执行该查询。这延长了调度查询的时间,同时在成功调度前评估其他查询所用的网络流量增加了通信成本。同时,为一组查询而查询资源促进了三阶段协议子循环优化,其中,稍后查询阶段1中的返回集合中的一些查询并从阶段2直接调度。
图3示出了描述全局资源管理器和协调节点152之间及本地资源管理器和数据节点154之间通信的消息图150。在阶段1中,全局资源管理器调查数据节点上资源的可用性。全局资源管理器向数据节点发送哪些可执行(which one can execute,WOCE)消息。所述WOCE消息包含带有其对应的资源要求(存储器、线程、输入/输出(input/output,I/O)成本等)的查询阵列(QArr1)。所述阵列的大小在1和最大活动会话数量之间。首先,全局资源管理器在时间间隔期间周期性地发出所述WOCE消息。数据节点发送有资源支持的候选查询的集合,以响应所述WOCE消息。这一直持续到对WOCE消息的回复的交集产生空查询集合。即数据节点不再有资源进行任何查询。全局资源管理器不再发送WOCE消息,等待来自带有执行后的查询的释放资源的数据节点的信号。当全局资源管理器得到信号时,重新发送周期WOCE消息,当一个WOCE消息接收到进行调度的查询的空集合时,再次休息下。在资源管理期间,全局资源管理器一直如此循环。在阶段1中,在本地资源管理器发送其回复后,本地资源管理器不需等待来自全局资源管理器的消息。因此,当其回复的交集产生空查询集合时,全局资源管理器不会发回额外消息通知本地资源管理器。超时是无害的并会导致空操作。
在阶段2中,进行预调度。全局资源管理器取所有回复的交集并找到查询的集合(QArr2)。QArr2是在数据节点上有足够资源执行该查询的查询的集合。全局资源管理器从QArr2中选择有最高优先级的查询。为所选查询,将预留资源(reserve resource,RS)消息从全局资源管理器发送到本地资源管理器。然后从QArr2中移除所选查询。本地资源管理器接收RS消息并尝试预留在阶段1中承诺的资源。本地资源管理器发回指示其资源是否成功预留的应答消息。在阶段2中,超时导致资源预留中断。
当全局资源管理器从查询中涉及的所有本地资源管理器中接收到指示资源已经成功预留的肯定应答时,在阶段3中进行调度。全局资源管理器通知协调节点,并通过协调节点向数据节点调度查询进行执行。任何否定应答会导致查询中断。接收到否定应答后,全局资源管理器通知本地资源管理器释放预留资源。当调度成功时,在全局资源管理器向协调节点发出执行查询的消息后,如果QArr2不为空,全局资源管理器返回到阶段2,并发出进行下一选择的查询的RS消息。重复阶段2到阶段3的子循环,直到QArr2为空或RS消息没有从所有本地资源管理器接收到肯定应答。当调度查询时,数据节点执行所述查询,并在执行完成后,向协调节点返回查询结果。查询完成后,本地资源管理器就新的可用资源向全局资源管理器发送信号。
图4示出了全局资源管理器进行的资源调度方法的流程图160。首先,在步骤188中,全局资源管理器等待从协调节点接收查询。当全局资源管理器接收到查询时,将接收到的查询请求添加到QArr1,即,待执行的查询队列。在一个示例中,按照优先级排列QArr1中的查询。QArr1的大小在1和最大活动会话数量之间。在另一个示例中,按照查询的提交时间戳将查询排序。
在步骤170中,全局资源管理器确定队列中是否有查询。当队列中没有查询时,全局资源管路器返回至步骤188,等待从协调节点中接收查询。当队列中有至少一个查询时,全局资源管理器进行到步骤162。
在步骤162中,全局资源管理器向数据节点传输WOCE消息。WOCE消息包含带有其资源要求,如存储器、线程、I/O成本等的查询队列。要求队列中所有查询的资源可用性。
作为回应,在步骤164中,全局资源管理器从带有其可执行的候选查询的数据节点中接收消息。所述回应指示每个数据节点能用其可用资源处理的部分查询。
接下来,在步骤166中,全局资源管理器取在步骤164中接收的回复的交集,确定可在带有可用资源的数据节点上执行哪些查询。在一个示例中,一次只能调度一个查询。在另一示例中,当交集的查询多于一个时,一次调度多个查询。当交集是空查询集合时,全局资源管理器等待步骤168中的信号。所述信号可以是来自协调节点的新的查询,或从完成执行查询的数据节点的释放资源的通知。当接收到信号,全局资源管理器进行到步骤170。当交集不是空集时,全局资源管理器进行到步骤174。
然后,在步骤174中,选择一个查询执行并从队列中移除。该查询可以是在数据节点上有充足可用资源的待执行的最高优先级查询。所选的查询是待执行的查询。
接下来,在步骤176中,全局资源管理器传输预留资源消息,要求会参与到所选的查询中的数据节点预留资源。预留资源消息告诉数据节点分配资源进行分配的部分查询。
作为回应,在步骤178中,全局资源管理器从数据节点接收应答。回应可以是指示已经预留资源的肯定应答,或指示未成功预留资源的否定应答。
接下来,在步骤180中,全局资源管理器确定所有的应答消息是否是肯定应答。如果有任何否定应答,不会像分配的那样进行查询,全局资源管理器进行到步骤182。在步骤182中,取消查询,并放回到查询队列中。全局资源管理器通知数据节点释放为取消的查询预留的资源。
当所有应答都是肯定应答时,全局资源管理器进行到步骤184。在步骤184中,全局资源管理器向协调节点传输消息通知协调节点数据节点上预留了资源执行查询。在传输该消息后,全局资源管理器进行到步骤166来确定队列中是否有任何查询有足够资源进行执行。同时,在步骤186中,全局资源管理器从已经执行查询的数据节点接收释放资源的通知。
图5示出了数据节点在数据库中执行的资源调度的方法流程图190。首先,在步骤192中,数据节点从全局资源管理器中接收WOCE消息。WOCE消息包含查询阵列和对应的资源要求。
然后,在步骤194中,数据节点确定数据节点有资源进行查询的哪一部分。数据节点回应全局资源管理器其有资源进行的查询。
接下来,在步骤196中,数据节点从所述全局资源管理器中接收预留资源消息。预留资源消息请求数据节点为查询预留资源。如果资源可用,数据节点预留预留资源消息中的资源。
在步骤200中,数据节点用应答消息回应全局资源管理器。肯定应答指示数据节点已经成功预留资源,而否定应答指示数据节点未成功预留资源。
在步骤202中,数据节点从协调节点接收执行查询消息。执行查询消息请求数据节点执行查询。
在步骤204中,接收到执行查询消息后,数据节点执行查询。在执行查询后,数据节点释放预留的资源。
执行查询后,在步骤206中,数据节点向协调节点传输查询结果。
另外,在步骤208中,数据节点向全局资源管理器传输指示其资源已经释放的消息。在步骤209中,有时数据节点从全局资源管理器接收不要执行查询消息而不是从协调节点接收到执行查询消息。数据节点进行到步骤208,释放预留的资源。
图6示出了协调节点在数据库中进行的预留资源的方法的流程图210。首先,在步骤220中,协调节点从客户端接收查询。客户端要求数据库执行查询。
作为回应,在步骤212中,协调节点向全局资源管理器传输查询,请求全局资源管理器能预留资源。
在步骤214中,协调节点从全局资源管理器接收执行查询消息。执行查询消息指示资源已经在数据节点上预留,且数据节点已准备好执行查询。
在步骤216中,协调节点向数据节点传输执行查询消息,以回应所述执行查询消息。这些执行查询消息要求数据节点执行所述查询。
在数据节点执行所述查询后,数据节点向协调节点传输结果。在步骤218中,协调节点接收这些结果。
在一个实施例中,没有使用全局资源管理层。没有两层资源管理,只使用本地层。每个数据节点管理自己的资源,并作出接收或拒绝执行任务的决定。这是完全分布式方案,并具有良好扩展性。然而,在一些没有对整个系统的资源管理全局视图的情况下,可能存在死锁问题。
在另一个实施例中,使用两阶段通信协议。两阶段调度降低了单个调度尝试的通信成本。然而,增加了未成功调度尝试的比例。使用三阶段调度,可在第一阶段发送查询集合,可对数据节点的回复取交集,来确定涉及的全部数据节点可适应的查询。
在一个额外实施例中,按照查询的提交时间戳将在第一阶段发送的查询排序,使得数据节点的回复明确一组中最大查询的个数,从第一个查询开始。如果来自数据节点的交集的查询多于一个,可一次调度多个查询。降低了调度提交顺序混乱的查询的灵活性。
图7是处理系统270的方框图,该处理系统可以用来实现本文公开的设备和方法。特定装置可利用所有所示的组件或所述组件的仅一子集,且装置之间的集成程度可能不同。此外,设备可以包括部件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理系统可以包括配备一个或多个输入/输出设备,例如扬声器、麦克风、鼠标、触摸屏、按键、键盘、打印机、显示器等的处理单元。另外,处理系统270可配备一个或多个输出设备,例如,扬声器、打印机、显示器等。处理单元可以包括中央处理器(central processingunit,CPU)274、存储器276、大容量存储器设备278、视频适配器280以及连接至总线的I/O接口288。
总线可以是任意类型的若干总线架构中的一个或多个,包括存储总线或存储控制器、外设总线、视频总线等等。CPU 274可包括任意类型的电子数据处理器。存储器276可包括任何类型的系统存储器,例如静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read-only memory,ROM)或其组合等等。在实施例中,存储器可包括在开机时使用的ROM以及执行程序时使用的程序和数据存储器的DRAM。
大容量存储器设备278可包括任意类型的存储设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线访问。大容量存储器设备278可包括如下项中的一种或多种:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。
视频适配器280以及I/O接口288提供接口以将外部输入以及输出装置耦合到处理单元上。如所图示,输入以及输出装置的实例包含耦合到显示卡上的显示器以及耦合到I/O接口上的鼠标/键盘/打印机。其它装置可以耦合到处理单元上,并且可以利用额外的或较少的接口卡。举例来说,串行接口卡(未图示)可以用于为打印机提供串行接口。
处理单元还包含一个或多个网络接口284,所述网络接口284可以包括例如以太网电缆或其类似者等有线链路,和/或用以接入节点或不同网络的无线链路。网络接口284允许处理单元经由网络与远程单元通信。举例来说,网络接口可以经由一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,所述处理单元与局域网或者广域网耦合以进行数据处理以及与远端设备比如其他处理单元、因特网、远端存储设备等通信。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其他特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其他变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
Claims (17)
1.一种管理数据库资源的方法,其特征在于,所述方法包括:
从查询队列中选择第一查询;
全局资源管理器向多个带有管理本地资源的个体资源管理器的数据节点传输第一查询的多个预留资源消息;
所述全局资源管理器从所述多个数据节点接收多个应答消息;
当所述多个应答消息是指示资源预留成功的肯定应答时,所述全局资源管理器向协调节点传输执行查询消息。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述全局资源管理器向所述多个数据节点传输多个哪个可以执行(which one canexecute,WOCE)消息,其中,所述多个WOCE消息的消息包括所述查询队列;
所述全局资源管理器从所述多个数据节点接收多个候选查询集合。
3.根据权利要求2所述的方法,其特征在于,还包括确定所述多个候选查询集合的交集,确定所述查询队列中的一组可执行查询。
4.根据权利要求3所述的方法,其特征在于,还包括当所述多个候选查询集合的交集是空查询集合时,等待所述多个数据节点的第一数据节点中的释放资源消息。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述多个WOCE消息的第一WOCE消息包括所述查询队列和所述查询队列的查询的资源要求。
6.根据权利要求1至5任一项所述的方法,其特征在于,从所述查询队列中选择所述第一查询包括根据所述第一查询的提交时间戳选择所述第一查询。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:当所述应答消息中的一个是否定应答时,
将多个取消消息传输至所述多个数据节点;
将所述第一查询放到所述查询队列中。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括传输所述执行查询消息后,所述全局资源管理器从所述多个数据节点接收多个释放资源消息。
9.一种管理数据库资源的方法,其特征在于,所述方法包括:
数据节点将多个候选查询传输到全局资源管理器,其中,所述数据节点有足够资源来执行所述多个候选查询;
所述数据节点从所述全局资源管理器接收预留资源消息;
预留一部分所述数据节点资源,其中所述预留资源消息指示所述部分资源;
所述数据节点将应答消息传输到所述全局资源管理器,其中当成功预留所述部分资源时,所述应答消息是肯定应答,当未成功预留所述部分资源时,所述应答消息是否定应答;
所述数据节点从协调节点接收执行查询消息,以响应肯定应答传输。
10.根据权利要求9所述的方法,其特征在于,还包括所述数据节点从所述全局资源管理器接收哪个可以执行(which one can execute,WOCE)消息,其中所述WOCE消息包括查询队列和在传输所述多个候选查询前,查询队列的查询所需的资源。
11.根据权利要求9所述的方法,其特征在于,还包括:
根据所述执行查询消息执行第一查询以产生结果;
所述数据节点将所述结果传输到所述协调节点。
12.根据权利要求11所述的方法,其特征在于,还包括在执行所述查询后,所述数据节点将资源可用消息传输到所述全局资源管理器。
13.根据权利要求9所述的方法,其特征在于,还包括:
所述数据节点从所述全局资源管理器接收中止查询消息;
释放所述部分资源。
14.一种管理数据库资源的方法,其特征在于,所述方法包括:
协调节点从全局资源管理器接收指示第一查询的执行查询消息;
所述协调节点将多个指示所述第一查询的执行查询消息传输到多个数据节点;
所述协调节点从所述多个数据节点接收包括所述第一查询的结果的消息。
15.根据权利要求14所述的方法,其特征在于,还包括:
所述协调节点从客户端接收指示所述第一查询的第一查询请求;
在接收所述执行查询消息前,所述协调节点将指示第一查询的查询请求传输到所述全局资源管理器。
16.一种计算机,其特征在于,包括:
处理器;
计算机可读取存储介质,用于存储供所述处理器执行的程序,其中,所述程序包括指令,用于:
从查询队列中选择第一查询;
将所述第一查询的多个预留资源消息传输到多个数据节点;
从所述多个数据节点接收多个应答消息;
当所述多个应答消息是肯定应答时,将执行查询消息传输到协调节点。
17.一种管理数据库资源的系统,其特征在于,包括:
资源管理器,用于配置在有足够资源执行多个候选查询的数据节点,其中所述资源管理器用于:
向全局资源管理器传输所述多个候选查询;
从所述全局资源管理器接收预留资源消息,以响应所述多个候选查询传输;
预留所述预留资源消息指示的所述数据节点的部分资源。
向所述全局资源管理器传输应答消息,其中当成功预留所述部分资源时,所述应答消息是肯定应答,当未成功预留所述部分资源时,所述应答消息是否定应答;
其中,从所述全局资源管理器通知的协调节点接收执行查询消息,以响应肯定应答传输。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/243,461 | 2014-04-02 | ||
US14/243,461 US9348865B2 (en) | 2014-04-02 | 2014-04-02 | System and method for massively parallel processing database |
PCT/CN2015/075787 WO2015149710A1 (en) | 2014-04-02 | 2015-04-02 | System and method for massively parallel processing database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462593A true CN106462593A (zh) | 2017-02-22 |
CN106462593B CN106462593B (zh) | 2020-04-28 |
Family
ID=54209918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580017344.6A Active CN106462593B (zh) | 2014-04-02 | 2015-04-02 | 大规模并行处理数据库的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9348865B2 (zh) |
EP (1) | EP3114589B1 (zh) |
CN (1) | CN106462593B (zh) |
WO (1) | WO2015149710A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970837A (zh) * | 2017-03-29 | 2017-07-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10866952B2 (en) * | 2013-03-04 | 2020-12-15 | Fisher-Rosemount Systems, Inc. | Source-independent queries in distributed industrial system |
US9836506B2 (en) * | 2014-06-11 | 2017-12-05 | International Business Machines Corporation | Dynamic query optimization with pilot runs |
WO2017072938A1 (ja) * | 2015-10-30 | 2017-05-04 | 株式会社日立製作所 | 計算機のスケールアウト方法、計算機システム及び記憶媒体 |
CN108270831B (zh) * | 2016-12-30 | 2021-05-07 | 杭州宏杉科技股份有限公司 | 一种仲裁者集群实现方法及装置 |
US10740332B2 (en) * | 2017-01-20 | 2020-08-11 | Futurewei Technologies, Inc. | Memory-aware plan negotiation in query concurrency control |
CN110119405B (zh) * | 2019-03-28 | 2023-10-13 | 江苏瑞中数据股份有限公司 | 分布式并行数据库资源管理方法 |
US11748352B2 (en) | 2021-08-26 | 2023-09-05 | International Business Machines Corporation | Dynamical database system resource balance |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283782A1 (en) * | 2004-06-17 | 2005-12-22 | Platform Computing Corporation | Job-centric scheduling in a grid environment |
US7478400B1 (en) * | 2003-12-31 | 2009-01-13 | Symantec Operating Corporation | Efficient distributed transaction protocol for a distributed file sharing system |
US20100122254A1 (en) * | 2008-11-11 | 2010-05-13 | Cray Inc. | Batch and application scheduler interface layer in a multiprocessor computing environment |
CN101908075A (zh) * | 2010-08-17 | 2010-12-08 | 上海云数信息科技有限公司 | 基于sql的并行计算系统及方法 |
CN102567495A (zh) * | 2011-12-22 | 2012-07-11 | 国网信息通信有限公司 | 一种海量信息存储系统及实现方法 |
US20130091089A1 (en) * | 2011-10-07 | 2013-04-11 | Microsoft Corporation | Extensible and generic framework for managing resources for data warehousing loads |
CN103488778A (zh) * | 2013-09-27 | 2014-01-01 | 华为技术有限公司 | 一种数据查询方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870743A (en) * | 1996-06-24 | 1999-02-09 | Oracle Corporation | Method and apparatus for parallelizing operations that create a table |
US6691109B2 (en) * | 2001-03-22 | 2004-02-10 | Turbo Worx, Inc. | Method and apparatus for high-performance sequence comparison |
US20080126357A1 (en) * | 2006-05-04 | 2008-05-29 | Wambo, Inc. | Distributed file storage and transmission system |
CN101316263B (zh) | 2007-06-02 | 2011-08-31 | 华为技术有限公司 | 资源预留方法及设备 |
US9311354B2 (en) * | 2012-12-29 | 2016-04-12 | Futurewei Technologies, Inc. | Method for two-stage query optimization in massively parallel processing database clusters |
-
2014
- 2014-04-02 US US14/243,461 patent/US9348865B2/en active Active
-
2015
- 2015-04-02 WO PCT/CN2015/075787 patent/WO2015149710A1/en active Application Filing
- 2015-04-02 CN CN201580017344.6A patent/CN106462593B/zh active Active
- 2015-04-02 EP EP15774347.7A patent/EP3114589B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478400B1 (en) * | 2003-12-31 | 2009-01-13 | Symantec Operating Corporation | Efficient distributed transaction protocol for a distributed file sharing system |
US20050283782A1 (en) * | 2004-06-17 | 2005-12-22 | Platform Computing Corporation | Job-centric scheduling in a grid environment |
US20100122254A1 (en) * | 2008-11-11 | 2010-05-13 | Cray Inc. | Batch and application scheduler interface layer in a multiprocessor computing environment |
CN101908075A (zh) * | 2010-08-17 | 2010-12-08 | 上海云数信息科技有限公司 | 基于sql的并行计算系统及方法 |
US20130091089A1 (en) * | 2011-10-07 | 2013-04-11 | Microsoft Corporation | Extensible and generic framework for managing resources for data warehousing loads |
CN102567495A (zh) * | 2011-12-22 | 2012-07-11 | 国网信息通信有限公司 | 一种海量信息存储系统及实现方法 |
CN103488778A (zh) * | 2013-09-27 | 2014-01-01 | 华为技术有限公司 | 一种数据查询方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970837A (zh) * | 2017-03-29 | 2017-07-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106970837B (zh) * | 2017-03-29 | 2020-05-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3114589B1 (en) | 2020-01-08 |
EP3114589A4 (en) | 2017-03-22 |
WO2015149710A1 (en) | 2015-10-08 |
EP3114589A1 (en) | 2017-01-11 |
CN106462593B (zh) | 2020-04-28 |
US20150286678A1 (en) | 2015-10-08 |
US9348865B2 (en) | 2016-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462593A (zh) | 大规模并行处理数据库的系统和方法 | |
US10795737B2 (en) | Generic distributed processing for multi-agent systems | |
CN101061469B (zh) | 分布式请求选路 | |
CN112000448A (zh) | 基于微服务架构的应用管理方法 | |
CN101702721B (zh) | 一种多集群系统的可重组方法 | |
JP4772854B2 (ja) | 計算機システムの構成管理方法、計算機システム及び構成管理プログラム | |
US20040243709A1 (en) | System and method for cluster-sensitive sticky load balancing | |
US20130198755A1 (en) | Apparatus and method for managing resources in cluster computing environment | |
CN104769919A (zh) | 对复制型数据库的访问进行负载平衡 | |
CN106817408B (zh) | 一种分布式服务器集群调度方法及装置 | |
CN105975334A (zh) | 任务分布式调度方法及系统 | |
US20090043742A1 (en) | Method and system for off-loading user queries to a task manager | |
CN110521188A (zh) | 网络服务层中的分布式事务管理 | |
US11838384B2 (en) | Intelligent scheduling apparatus and method | |
CN106445675A (zh) | 一种b2b平台分布式应用调度与资源分配方法 | |
CN109844731A (zh) | 分散式分布式数据库一致性 | |
CN103957280A (zh) | 一种物联网中的传感网络连接分配和调度方法 | |
CN100473065C (zh) | 一种面向网格的机群作业管理系统及其实现方法 | |
CN104052723B (zh) | 信息处理方法、服务器和系统 | |
CN105721553A (zh) | 一种自适应集群消息分发器 | |
Datta | A new task scheduling method for 2 level load balancing in homogeneous distributed system | |
CN101031883A (zh) | 用于移动装置的对等网络的服务发现和服务提供 | |
CN115102610B (zh) | 一种北斗rdss设备的共享方法及装置 | |
CN114614879B (zh) | 一种异构高并发动态站网资源需求的调度方法 | |
CN100358289C (zh) | 一种综合网管系统及管理网元管理系统的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |