当前位置: 首页 > 专利查询>SAP欧洲公司专利>正文

数据库环境中的表格复制制造技术

技术编号:15895281 阅读:52 留言:0更新日期:2017-07-28 19:48
描述了用于在具有源节点和副本节点的数据库环境内执行数据的复制的技术。源节点在由源节点存储的至少一个数据库表格上执行数据库操作。源节点将该数据库操作异步发送到副本节点。准备提交请求被从源节点同步发送到副本节点。源节点接收来自副本节点的同步预提交确认。预提交确认指出在副本节点处执行了数据库操作。源节点提交与该数据库操作相关联的事务。

Table replication in a database environment

Techniques for performing replication of data within a database environment with source nodes and replica nodes are described. The source node performs database operations on at least one database table stored by the source node. The source node asynchronously sends the database operation to the replica node. The ready submit request is sent to the replica node synchronously from the source node. The source node receives a synchronous pre commit acknowledgement from the replica node. The withholding declaration indicates that the database operation is performed at the replica node. The source node submits the transaction associated with the database operation.

【技术实现步骤摘要】
数据库环境中的表格复制
本公开概括而言涉及信息的复制。特定实现方式涉及数据库环境中的源和副本之间的数据的复制。
技术介绍
通过创建源表格的副本(replica)可增强数据库性能。例如,复制的表格可被容宿(hosted)在与源表格不同的计算系统上,其中源主机和副本主机具有不同的处理器。让副本可用于服务于数据库读取请求可帮助在多个处理器之间平衡计算负载,改善系统性能。在一些情况中,副本也可用于“高可用性数据”目的,例如当在源表格变得不可用的情况下副本能够接管源表格的一个或多个功能时。复制的系统中的挑战包括维持源表格和副本表格之间的一致性。如果与复制相关联的开销太高,复制也可导致系统性能降低。例如,在典型的同步复制协议中,副本是在与源相同的事务边界内被更新的。然而,这可导致在源主机和副本主机两者处的事务可见性延迟,因为同步复制通常涉及容宿源表格的计算系统和容宿副本表格的计算系统之间的多个通信。在一些情况中,通过异步复制对副本表格的改变可改善性能。然而,完全异步的协议可向数据库系统添加复杂性。
技术实现思路
提供此
技术实现思路
部分来以简化的形式介绍下文中在具体实施方式部分进一步描述的概念中的选择的一部分。此
技术实现思路
部分并不打算标识要求保护的主题的关键特征或必要特征,也不打算用来限制要求保护的主题的范围。描述了技术和解决方案用于在数据库环境内执行复制(例如被插入、更新和/或删除数据库操作所修改的数据库信息的复制),例如使用数据操纵语言(datamanipulationlanguage,DML)语句。数据库环境包括源节点和副本节点。在一个方面中,源节点在由源节点存储的至少一个数据库表格上执行数据库操作。源节点将该数据库操作异步发送到副本节点。准备提交请求被从源节点同步发送到副本节点。源节点接收来自副本节点的同步预提交确认。预提交确认指出在副本节点处执行了数据库操作。源节点提交与该数据库操作相关联的事务。在一些实现方式中,在源节点处提交事务可在不等待接收来自副本节点的同步预提交确认的情况下开始(例如写提交日志)。在另一方面中,在数据库环境中,副本节点接收从源节点异步发送的数据库操作。副本节点在由副本节点存储的从源节点处的表格复制的至少一个数据库表格的拷贝上执行该数据库操作。副本节点从源节点接收同步通知以准备提交包括该数据库操作的事务。副本节点预提交该事务并且向源节点发送同步准备提交确认。准备提交确认指出副本节点预提交了该事务。在另外一方面中,在数据库环境中,源节点在由源节点存储的至少一个数据库表格上执行数据库操作。源节点将该数据库操作发送到副本节点。同步准备提交请求被从源节点发送到副本节点。源节点接收来自副本节点的同步准备提交确认,该确认指出副本节点预提交了与该数据库操作相关联的事务。源节点提交该事务。在一些实现方式中,在源节点处提交事务可在不等待接收来自副本节点的同步准备提交确认的情况下开始(例如写提交日志)。不等待接收来自副本节点的提交确认,源节点向数据库客户端发送提交确认。提交确认(从源节点发送到数据库客户端)指出源节点提交了事务。如本文所述,各种其他特征和优点根据需要可被包含到这些技术中。附图说明图1是利用DML语句和写入日志传送支持复制的环境的示图。图2是描绘用于利用DML语句和写入日志传送执行数据库表格的复制的数据库环境的示图;图3是描绘用于从源节点到副本节点执行数据库表格的复制的数据库环境的示图;图4是描绘可用于本公开的至少某些实现方式中的提供版本空间管理的事务情境的体系结构的示图。图5A是图示出未复制的数据库系统的示图。图5B是描绘从源节点到副本节点复制数据库表可如何提供数据库系统中的负载平衡的示图。图6A是描绘在没有表格复制的情况下在分布式数据库系统中可如何执行效率低下的跨节点联接操作的示图。图6B是图示出在分布式数据库系统中可如何使用复制来避免跨节点联接操作的示图。图7是数据库事务中可包括的示例数据库操作的示图,图示了后来操作对早前操作的依从性。图8是描绘用来提交从源节点复制到副本节点的事务的两阶段提交协议的示图。图9是一种协议的示图,在该协议中用于事务的数据库操作被从源节点异步发送到副本节点,其中在源节点和副本节点之间有同步通信来在副本节点处预提交该事务。图10A是一种用于在数据库环境内从源节点到副本节点执行复制的涉及源节点的示例方法的流程图,其中事务的一个或多个数据库操作被异步发送到副本节点,并且源节点和副本节点之间的同步通信被用于在副本节点处预提交该事务。图10B是一种用于在数据库环境内从源节点到副本节点执行复制的涉及副本节点的示例方法的流程图,其中由源节点异步发送的事务的一个或多个数据库操作被副本节点接收,并且源节点和副本节点之间的同步通信被用于在副本节点处预提交该事务。图11是一种数据库协议的示图,其中用于事务的一个或多个数据库操作被从源节点复制到副本节点,并且在源节点不等待接收来自副本节点的提交确认的情况下,向数据库客户端确认该事务为已提交。图12是一种用于在数据库环境内从源节点到副本节点执行复制的涉及源节点的示例方法的流程图,其中在源节点不等待接收来自副本节点的提交确认的情况下向数据库客户端确认该事务为已提交。图13是一种数据库协议的示图,其中用于事务的一个或多个数据库操作被从源节点复制到副本节点,其中该(一个或多个)数据库操作被从源节点异步发送到副本节点,在源节点和副本节点之间有同步通信来在副本节点处预提交该事务,并且在源节点不等待接收来自副本节点的提交确认的情况下向数据库客户端确认该事务为已提交。图14A是一种用于在数据库环境内从源节点到副本节点执行复制的涉及源节点的示例方法的流程图,其中一个或多个数据库操作被从源节点异步发送到副本节点,在源节点和副本节点之间有同步通信来在副本节点处预提交事务,并且在源节点不等待接收来自副本节点的提交确认的情况下向数据库客户端确认该事务为已提交。图14B是一种用于在数据库环境内从源节点到副本节点执行复制的涉及副本节点的示例方法的流程图,其中一个或多个数据库操作被从源节点异步发送到副本节点,在源节点和副本节点之间有同步通信来在副本节点处预提交事务,并且在源节点不等待接收来自副本节点的提交确认的情况下向数据库客户端确认该事务为已提交。图15是描绘将在源系统处维护的源表格与在副本系统处维护的数据库表格的拷贝同步的数据库环境的示图。图16A是一种用于将在源系统处维护的数据库表格与在副本节点处维护的数据库表格的拷贝同步的涉及源节点的示例方法的流程图。图16B是一种用于将在源系统处维护的数据库表格与在副本节点处维护的数据库表格的拷贝同步的涉及副本节点的示例方法的流程图。图17是副本节点的示图,图示了同步时间戳可如何用于判定在副本节点处是否重放写入操作。图18是其中可实现一些描述的实施例的示例计算系统的示图。图19是可结合本文描述的技术使用的示例云计算环境。具体实施方式示例1—概述以下描述针对的是用于执行数据(例如,数据库数据)的复制的技术和解决方案。例如,数据库数据的高效复制可利用数据操纵(DML)语句和写入日志传送(writelogshipping)来执行。当在本文使用时,DML语句指的是指定对数据的任何操纵(例如,插入、更新、删除、选择)的任何语本文档来自技高网...
数据库环境中的表格复制

【技术保护点】
一种方法,至少部分由包括处理单元和存储器的源节点实现,所述源节点与副本节点通信,所述源节点存储至少一个数据库表格并且所述副本节点存储所述至少一个数据库表格的拷贝,所述方法用于将所述至少一个数据库表格从所述源节点复制到所述副本节点,所述方法包括:在所述源节点处在所述至少一个数据库表格上执行数据库操作;将所述数据库操作异步发送到所述副本节点;向所述副本节点发送同步准备提交请求;接收来自所述副本节点的同步准备提交确认,其中所述准备提交确认指出所述数据库操作在所述副本节点处被执行了;并且在所述源节点处提交与所述数据库操作相关联的事务。

【技术特征摘要】
2015.12.18 US 14/975,3651.一种方法,至少部分由包括处理单元和存储器的源节点实现,所述源节点与副本节点通信,所述源节点存储至少一个数据库表格并且所述副本节点存储所述至少一个数据库表格的拷贝,所述方法用于将所述至少一个数据库表格从所述源节点复制到所述副本节点,所述方法包括:在所述源节点处在所述至少一个数据库表格上执行数据库操作;将所述数据库操作异步发送到所述副本节点;向所述副本节点发送同步准备提交请求;接收来自所述副本节点的同步准备提交确认,其中所述准备提交确认指出所述数据库操作在所述副本节点处被执行了;并且在所述源节点处提交与所述数据库操作相关联的事务。2.如权利要求1所述的方法,其中,所述数据库操作包括DML语句。3.如权利要求1所述的方法,还包括,在所述源节点处提交所述事务之后,向数据库客户端确认所述事务的提交。4.如权利要求3所述的方法,还包括,在所述源节点处提交所述事务之后,向所述副本节点发送提交通知;并且接收来自所述副本节点的提交确认,所述提交确认指出所述事务被所述副本节点提交了。5.如权利要求4所述的方法,其中,向所述数据库客户端确认所述事务的提交发生在接收到来自所述副本节点的提交确认之后。6.如权利要求3所述的方法,还包括,在所述源节点处提交所述事务之后,向所述副本节点发送异步提交通知。7.如权利要求1所述的方法,还包括,在所述源节点处提交所述事务之后,向数据库客户端确认所述事务的提交,而不等待接收来自所述副本节点的提交确认。8.如权利要求1所述的方法,其中,所述事务包括读取所述数据库操作的结果的查询,所述方法还包括在提交所述事务之前在所述源节点处执行所述查询。9.如权利要求1所述的方法,其中,所述事务包括读取所述数据库操作的结果的查询,所述方法还包括在提交所述事务之前:从所述副本节点接收所述查询;并且在所述源节点处执行所述查询。10.一种计算机系统,包括副本节点,所述副本节点包括处理单元和实现数据库复制系统的一部分的存储器,所述副本节点与源节点通信,所述源节点存储至少一个数据库表格,所述副本节点存储所述至少一个数据库表格的拷贝,所述副本节点被配置为执行一种用于生成所述至少一个数据库表格的拷贝的方法,所述方法包括:接收从所述源节点异步发送来的数据库操作;在所述副本节点处在所述至少一个数据库表格的拷贝上执行所述数据库操作;接收来自所述源节点的同步通知以准备提交包括所述数据库操作的事务;在所述副本节点处预提交所述事务;并且向所述源节点发送同步准备提交确认,所述准备...

【专利技术属性】
技术研发人员:J李CG朴KH金HJ那DK金JY李
申请(专利权)人:SAP欧洲公司
类型:发明
国别省市:德国,DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1