[发明专利]带有多版本化的数据库系统的分布式事务管理有效
申请号: | 201110339865.7 | 申请日: | 2011-10-19 |
公开(公告)号: | CN102419764A | 公开(公告)日: | 2012-04-18 |
发明(设计)人: | P-A·拉森;M·茨维林;C·迪亚科努 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨洁 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 带有 版本 数据库 系统 分布式 事务管理 | ||
技术领域
本发明涉及数据库系统中的事务管理,并且更具体地,涉及对使用多版本化的数据库系统中的分布式事务的处理。
背景技术
数据库系统可以实现各种机制以便确保在数据库系统上执行的事务产生正确的结果。具体而言,数据库系统可以实现并发控制机制以相互隔离多个并发执行的事务,和/或防止这些事务彼此干扰。然而,尽管并发控制机制对正确性是有用的,但它们增加了开销并且负面地影响了系统性能(例如,吞吐量和响应时间)。一类并发控制机制被设计用于带有多版本化的系统,即,数据库系统可以存储一记录的多个版本,不同的版本具有不重叠的有效时间间隔。
数据库系统可以是分布式数据库系统,其中数据库分布于多个不同的计算机或节点。在分布式数据库中,某些事务可以是本地或全局的。本地事务限于单个节点,而全局事务涉及多个节点。用户通常不知道事务是本地的还是全局的,因为事务是由数据库系统“在幕后”处理的。因此,期望分布式数据库系统实现完整、高效并且可伸缩的用于处理本地和全局事务两者的机制。例如,由分布式数据库系统执行的本地事务应当产生最小的开销,或者相比于与在本地数据库系统中执行的事务相关联的开销,不会产生附加的开销。作为另一个示例,所支持的用于本地事务的基本上全部隔离级别也应当被支持来用于全局事务。作为又一个示例,由分布式数据库系统执行的事务不应需要被频繁地访问的全局节点,并且特别是全局时钟,以避免与使用全局节点和/或时钟相关联的性能和可伸缩性损失。作为又一个示例,由分布式数据库系统执行的事务不应导致分布式死锁,因为检测这样的死锁是困难并且昂贵的。
常规上,已经提出了用于分布式数据库系统中的分布式事务管理的各种解决方案。然而,所提出的用于带有多版本化的分布式数据库的解决方案中没有一个能解决全部上述需要,并且期望这样的解决方案显著地改善分布式数据库系统的性能。
当今分布式事务管理技术的上述缺点仅旨在提供常规系统的某些问题的概览,并且不旨在是穷尽性的。常规系统的其他问题以及此处描述的各非限制性实施例的对应益处可以在审阅以下描述后变得更显而易见。
发明内容
此处提供了简化的发明内容以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本发明内容并不旨在作为详尽的或穷尽的概观。相反,本发明内容的唯一目的是以简化的形式来提出与一些示例性非限制性实施例相关的一些概念,作为以下各实施例的更为详细的描述的序言。
此处提供的各实施例针对实现多版本化的数据库系统,例如,其中数据库可包含同一记录的带有不重叠的有效时间间隔的多个版本。事务指定其逻辑读时间,该逻辑读时间确定对该事务可见的记录的版本。读时间和有效时间间隔基于实现为例如单调递增计数器的逻辑时钟。
此外,此处的实施例可利于带有多版本化的数据库系统的一致性和准确性。例如,令T1是在若干节点具有已修改数据的全局事务。在带有多版本化并且没有全局时钟的分布式系统中,在保证另一个全局事务T2获得在事务上一致的视图时,例如T2或者随处看到T1的更新或者看不到T1的更新,产生问题。
因此,如此处各实施例中描述的数据库系统中使用的提交协议确保在事务T1接触的全部节点上使用相同的提交时间戳。因此,假如随后的事务T2在全部节点上使用相同的逻辑读时间,那么T2可被配置为看到由T1生成的更新,在系统内要么随处可见要么看不到。
在其他实施例中,采用了各种优化和/或其他技术。这些包括,例如,(1)使用通过批处理与参与者的通信来减少提交处理的开销的全局事务协调器,(2)通过将信息承载到由全局事务协调器发送的消息上来保持本地时钟基本同步,以及(3)通过将信息承载到由全局事务协调器发送的消息上来防止节点处过早的垃圾收集。
在一个或多个实施例中,分布式事务管理是通过便于与全局事务的参与者相关联的本地时钟之间的同步来实现的。在一个非限制性实现中,参与全局事务的各个数据库节点就将要用于该事务的提交时间戳达成协定。这样的协定是单独地或在事务协调器的辅助下达成的。此外,参与全局事务的一个或多个节点可以根据达成协定的提交时间戳提前其各自的本地时钟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110339865.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多级增压节能换热器
- 下一篇:认知无线影子网络的组网方法和终端接入方法