大规模并行处理数据库中执行事务的系统和方法

文档序号:8909145阅读:787来源:国知局
大规模并行处理数据库中执行事务的系统和方法
【专利说明】大规模并行处理数据库中执行事务的系统和方法
[0001]本发明要求2013年3月13日递交的发明名称为“大规模并行处理数据库中执行事务的系统和方法(System and Method for Performing a Transact1n in a MassivelyParallel Processing Database) ”的美国非临时专利申请案序列号13/798,344的在先申请优先权,该在先申请的内容以引入的方式并入本文本中。
技术领域
[0002]本发明涉及一种用于数据库的系统和方法,尤其涉及一种通过利用基于快照隔离的一致性模型在大规模并行处理数据库中执行事务的系统和方法。
【背景技术】
[0003]大规模并行处理(MPP)数据库是指利用大量处理器并行执行一组计算的数据库。在MPP系统中,以协同方式通过多个处理器处理程序,其中每个处理器工作于程序的不同部分和/或不同数据。
[0004]MPP数据库系统基于无共享架构,其中数据库的表被分割成多个分区并且分布到不同处理节点。当数据库查询到达时,根据数据分布以及优化执行计划来划分每个查询任务并且将其分配给处理节点。每个处理节点中的处理实体仅管理其数据部分。然而,在执行查询任务期间,处理实体之间可以彼此通信以交换所需信息。可以将查询划分成多个子查询,并且可以在部分或所有处理节点中并行地或以某一最优次序执行子查询。子查询的结果可以被聚合并进一步处理。随后,可以基于所述结果执行更多的子查询。

【发明内容】

[0005]本发明一实施例提供的用于在大规模并行处理(MPP)数据库中执行事务的方法包括:通过事务管理器从第一资源管理器接收第一资源管理器的第一快照,以及通过事务管理器从第二资源管理器接收第二资源管理器的第二快照。此外,所述方法包括调和第一资源管理器的第一快照以及第二资源管理器的第二快照以产生调和快照,以及通过事务管理器将调和快照传送到第一资源管理器以及第二资源管理器。另外,所述方法包括使用调和快照执行事务。
[0006]本发明另一实施例提供的在MPP数据库中执行第一事务的方法包括:通过第一资源管理器将第一资源管理器的第一快照传送到事务管理器,以及通过资源管理器从事务管理器接收根据第一资源管理器的第一快照以及第二资源管理器的第二快照的调和后得到的调和快照。此外,所述方法包括使用调和快照执行第一事务。
[0007]本发明另一实施例提供的MPP数据库的第一节点包括:处理器以及存储有可被该处理器执行的程序的计算机可读存储介质。该程序包括用以进行以下操作的指令:通过事务管理器从第一资源管理器接收第一资源管理器的第一快照,以及通过事务管理器从第二资源管理器接收第二资源管理器的第二快照。此外,程序包括用以进行以下操作的指令:调和第一资源管理器的第一快照以及第二资源管理器的第二快照,以及通过事务管理器将调和快照传送到第一资源管理器以及第二资源管理器。另外,程序包括使用调和快照执行事务的指令。
[0008]本发明另一实施例提供的MPP数据库的第一节点包括处理器以及存储有可被该处理器执行的程序的计算机可读存储介质。该程序包括用以进行以下操作的指令:通过第一资源管理器将第一资源管理器的第一快照传送到事务管理器,以及通过第一资源管理器接收调和快照以及第二资源管理器的第二快照。此外,该程序包括使用调和快照执行事务的指令。
[0009]以上内容概述了本发明的实施例的特征,以便可以更好地理解以下本发明的【具体实施方式】。下文将描述本发明的实施例的附加特征和有益效果,这些特征和有益效果形成本发明的权利要求书的主题。所属领域的技术人员应了解,本发明所公开的概念和特定实施例可以轻易地用被修改或设计用于实现本发明的相同目的。所属领域的技术人员还应意识到,此类等效构造不脱离如所附权利要求书中所阐述的本发明的精神和范围。
【附图说明】
[0010]为了更完整地理解本发明及其优点,现在参考以下结合附图进行的描述,其中:
[0011]图1图示了本发明实施例的大规模并行处理(MPP)数据库系统;
[0012]图2图示了本发明实施例在MPP数据库系统中执行事务的方法;
[0013]图3图示了本发明实施例在MPP数据库系统中调和快照的方法;
[0014]图4图示了本发明实施例两阶段协议;
[0015]图5图示了本发明实施例的全局事务ID的产生过程;
[0016]图6图示了在单一节点中执行的查询;
[0017]图7图示了不一致事务状态;
[0018]图8图示了使用快照调和在多个节点上执行的语句;以及
[0019]图9图示了图示本发明一个实施例的计算平台的框图,所述计算平台可以用于实施如本文中所描述的装置以及方法。
[0020]除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
【具体实施方式】
[0021]首先应理解,尽管下文阐述了一个或多个实施例的实施方案,但所公开的系统和/或方法可使用多种技术手段来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所揭示的实施方案、附图和技术,以及本文所描述的示例性设计和实施方案,而应覆盖所附权利要求书的范围以及其等效物的完整范围。
[0022]事务构成了数据库系统的原子性、并发性、隔离性以及持久性(ACID)特性的基础。事务是具有已提交读隔离的语义的事务。ACID特性确保可靠地处理数据库事务。原子性要求如果事务的一部分失败,那么整个事务失败,并且数据库保持不变。一致性确保事务将数据库从一个有效状态转变为另一有效状态。隔离性确保事务的并发执行的结果与事务以串行次序执行是一样的。此外,持久性要求一旦已经提交事务,即使处理器节点瞬态丢失,例如因断电或死机,由事务造成的所有改变也保持持久以及永久,并且事务保持为已提交的。
[0023]为了维持ACID特性,事务的各步骤之间的中间状态不应对其它并发事务可见。对于原子性,如果发生阻止事务完成的故障,那么这些步骤中没有步骤影响到数据库,从而确保人人都看到一致数据。在单一节点非分布式数据库系统中,数据库管理实例与事务管理器通过实施严格的两阶段锁定(SS2PL)或快照确保ACID特性。事务是一组动作的逻辑分组,所述动作例如选择数据、更新数据、插入数据以及删除数据。跨越多个节点的事务系统需要了解整个系统中当前活动事务的全局信息。当前活动事务的信息可以被称为事务快照或快照。
[0024]数据以及系统的元数据信息用于创建快照。快照的每行附加有修该它的事务ID。快照是系统中当前活动事务的列表。通过使用快照,事务管理器可以在执行任何动作之前确定数据的可见性。如果事务ID与快照列表中的任一事务相关,那么数据不应是可见的,因为事务仍是活动的,并且动作的中间状态不应被其它事务看到。
[0025]图1图示了大规模并行处理(MPP)数据库系统100的一个实例。系统100图示了四个节
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1