分布式事务该如何实现,分布式事务常用的2阶段提交的大概含义是什么,在msdn上有一个比较准确的定义,故转载来
转载自:http://msdn.microsoft.com/zh-cn/library/ms191440.aspx
分布式事务(数据库引擎)
分布式事务跨越两个或多个称为资源管理器的服务器。称为事务管理器的服务器组件必须在资源管理器之间协调事务管理。如果分布式事务
由 Microsoft 分布式事务处理协调器 (MS DTC) 之类的事务管理器或其他支持 Open Group XA
分布式事务处理规范的事务管理器来协调,则在这样的分布式事务中,每个 SQL Server
数据库引擎实例都可以作为资源管理器来运行。有关详细信息,请参阅 MS DTC 文档。
跨越两个或多个数据库的单个数据库引擎实例中的事务实际上是分布式事务。该实例对分布式事务进行内部管理;对于用户而言,其操作就像本地事务一样。
对于应用程序而言,管理分布式事务很像管理本地事务。当事务结束时,应用程序会请求提交或回滚事务。不同的是,分布式提交必须由事
务管理器管理,以尽量避免出现因网络故障而导致事务由某些资源管理器成功提交,但由另一些资源管理器回滚的情况。通过分两个阶段(准备阶段和提交阶段)管
理提交进程可避免这种情况,这称为两阶段提交 (2PC)。
准备阶段
当事务管理器收到提交请求时,它会向该事务涉及的所有资源管理器发送准备命令。然后,每个资源管理器将尽力使该事务持久,并且所有保存该事务日志映像的缓冲区将被刷新到磁盘中。当每个资源管理器完成准备阶段时,它会向事务管理器返回准备成功或准备失败的消息。
提交阶段
如果事务管理器从所有资源管理器收到准备成功的消息,它将向每个资源管理器发送一个提交命令。然后,资源管理器就可以完成
提交。如果所有资源管理器都报告提交成功,那么事务管理器就会向应用程序发送一个成功通知。如果任一资源管理器报告准备失败,那么事务管理器将向每个资源
管理器发送一个回滚命令,并向应用程序表明提交失败。
数据库引擎应用程序可以通过 Transact-SQL 或数据库 API 来管理分布式事务。
分享到:
相关推荐
1. **分布式事务数据库的存储引擎**:这是数据库的基础,需要5年或更长时间的研发,至少3年的打磨,以实现与集中式数据库相媲美的语法功能。如果从零开始,建立自己的生态体系将至关重要;若采用开源存储引擎,则...
分布式数据库的学习路径可以从数据库开始,包括存储设计、事务模型、查询引擎、复制和其他几个方面。学习分布式数据库可以帮助我们更好地理解数据库的设计思想和架构设计。 分布式数据库的优点包括: 1. 高性能:...
《企业级分布式数据库实践专场:深入OceanBase企业级数据库的分布式事务引擎》 在现代互联网应用中,数据处理量的增长速度远超单机数据库的处理能力,因此分布式数据库成为了解决这一问题的关键技术。OceanBase作为...
【企业级分布式数据库实践专场——深入OceanBase企业级数据库的分布式事务引擎】 OceanBase是一款企业级的分布式数据库,它的核心特点之一就是其强大的分布式事务引擎。事务是数据库管理系统中的基本概念,它确保了...
在MySQL的分布式实现中,通常会采用主从复制、分片(Sharding)或者分布式事务处理等策略。 1. 主从复制:这是MySQL最基础的高可用架构,通过数据复制,将主数据库的数据实时同步到从数据库。这样,当主数据库发生...
通过分析这些源代码,我们可以学习到如何设计和实现一个高性能的分布式事务数据库,以及如何在实际应用中优化其性能。 总的来说,TiKV是一个强大且灵活的分布式键值数据库,专为大规模分布式事务处理而设计。它结合...
链接服务器可以通过 server 名称或 IP 地址访问,数据库引擎和 DTC 服务都需要解析服务器名称到 IP 地址。 知识点:链接服务器可以通过 server 名称或 IP 地址访问,名称解析是关键步骤。 7. 远程服务器上的名称...
在深入了解HBase分布式事务与SQL实现前,我们首先需要明确几个核心概念和组件,这些包括HBase基础架构、Google Percolator模型、TiDB分布式数据库,以及它们之间的关系。 HBase是一款分布式的、开源的NoSQL数据库,...
3. **分布式事务**:当涉及多个服务和数据库时,需要分布式事务来保证数据一致性。典型的场景包括跨库事务、分库分表和SOA服务化的事务管理。 【分布式事务协议与实现】 - **XA分布式事务协议**:定义了资源管理器...
《分布式事务JDTX与数据库中间件集成方案》 在现代互联网应用中,处理大量并发请求和海量数据时,分布式事务成为必不可少的技术手段。JDTX(京东数科分布式事务)是针对这一需求提出的解决方案,它与Apache ...
分布式数据库系统的核心概念包括数据分片、复制、并行处理和分布式事务。数据分片是将一个大数据库分解成若干小的部分,每个部分分布到不同的节点上,以提高访问速度和减少单点故障的可能性。复制则是通过在多个节点...
本质上来说,分布式事务是为了保证不同数据库的数据一致性。 #### 二、事务的特性 **2.1 原子性(Atomicity, A)** 原子性意味着在一个事务中的所有操作要么全部完成,要么全部不做,不存在中间状态。如果事务在...
7. **数据库支持**:许多现代数据库如MySQL、MongoDB等提供了对分布式事务的支持,例如MySQL的InnoDB存储引擎支持行级锁定,而MongoDB的多文档事务则提供了跨集合的事务处理。 8. **幂等性**:在分布式事务中,幂等...
1. **分布式数据库的基本问题**:分布式数据库需要解决的主要问题包括数据分片(分库分表)、分布式事务(ACID属性)、可扩展性和高可用性。分库分表是为了解决单个数据库的容量和性能瓶颈,通过将数据分散到多个...
本文介绍了一个基于ArcGIS平台和空间数据引擎ArcSDE的输气管道分布式测绘数据库的设计与实现方法。 ### ArcGIS与管道数据管理 ArcGIS是一种功能强大的地理信息系统,它能够对数据进行提取、处理、分析和更新,是...
1. 分布式事务:分布式数据库需要支持ACID(原子性、一致性、隔离性、持久性)事务,确保数据的一致性。2PC(两阶段提交)、TCC(尝试、确认、补偿)等是常见的分布式事务解决方案。 2. SQL路由:处理SQL语句时,...
2. **ByteSQL与Percolator模式**:ByteSQL可能是字节跳动自研的SQL处理引擎,而Percolator是一种在BigTable(Google的分布式存储系统)上实现的弱一致性的分布式事务模型。Percolator模式允许在大规模分布式系统中...
企业级分布式数据库实践专场__原生分布式数据库能力探讨 ...本文档总的来说讨论了 OceanBase 原生分布式数据库的能力和优势,特别是在高可用性、扩展性、分布式事务和多副本一致性协议等方面的探讨。
本文提出了一种基于分布式数据库CBASE的HTAP方案,在CBASE和Spark之间建立了一个适配层,将CBASE与Spark分析引擎结合起来,实现了OLTP和OLAP功能,并对适配层的数据传输进行了优化,提高了AP分析效率。 HTAP是近年...
TiKV是一款强一致性的分布式事务Key-Value数据库,由知名的开源数据库项目TiDB团队开发,它在大数据量和高并发场景下表现出色,特别适合需要分布式事务处理的应用。 **1. Go语言开发** Go-Tidis的开发语言是Go,这...