关于事务(
Transation
),大家肯定都不陌生了,因为作为一个
Web
程序开发人员来说,我们一般都会和数据库打交道,然后对数据库中的数据进行一系列的操作,那么为了保证我们对数据操作的合理性我们就不能不用到事务,虽然事务的实现不需要我们去操心,但是我们还是需要对事务进行一些了解,这样我们才能够明白我们日常所使用的东西,比如我们常用的开源框架
Spring
、
Hibernat
等都会涉及到事务的问题,虽然事务有很多不同的实现,如符合
JTA
的事先,
JDBC
的实现等等,但是其原理都是差不多的。
<!---->
<o:p> </o:p>
对于事务的理解,这个我觉得有必要说一下,一般大家看到的理解都是很正式的、书面的,有时候让人觉得有些乱,并且细节的东西太多,在这里我就不说说课贴书了,呵呵,那我就把我自己的一点理解说一下:刚接触到事务的时候,感觉还有些模糊,慢慢的感觉清晰了一些,事务是为了什么而产生的呢?就是为了对付并发而造成的对数据的修改以及读取时的错误(或者说是一些不正常的现象),如果没有并发,没有资源的同时访问,估计也就用不到事务这个玩意了,呵呵,就像我们在单击上使用的单用户的软件一样,应该不会用到事务吧,一般又没有人跟你争,控制个啥子啊!我觉得事务就可以这么理解。
<o:p> </o:p>
而对于事务的分类,一般分为本地事务,即一个数据库的情况;再一个就是全局事务,也就是多个数据库的情况(其数据库事务的控制称为
XA
),具体的情况可以看下面几个链接的介绍:
http://blog.csdn.net/ladofwind/archive/2006/09/08/1194812.aspx
关于数据库事务的基本概念
http://www.huihoo.com/middleware/trade_middleware.html
里面有介绍关于
XA
的内容
http://www.iteye.com/topic/6302
对跨数据库事务的一些讨论(总结一下就是一般采用两阶段提交的方式来解决跨数据库的事务问题)
http://msdn2.microsoft.com/zh-cn/library/ckawh9ct(VS.80).aspx MS
的关于单阶段和多阶段事务的提交的一些说明文档
<o:p> </o:p>
并且还要支持
XA
的数据库连接池,开源的如
XAPool
等。
<o:p> </o:p>
要说的就是这么多了,估计也基本够在
Web
开发中对其有一个了解
~
如果有更加深入的内容再进行讨论和补充。
分享到:
相关推荐
本文将深入研究Hibernate中的`Session`和`Transaction`,这两个概念是理解Hibernate工作原理的关键。 首先,让我们了解`Session`。在Hibernate中,`Session`充当了应用程序与数据库之间的桥梁,它是持久化操作的...
随着计算机网络和分布式系统的发展,分布式事务处理成为重要的研究和实践领域。分布式事务处理涉及: - 分布式事务的管理:如何在分布式环境中实现事务的原子性、一致性和持久性。 - 两阶段提交协议(2PC)和三...
《Java Transaction Design Strategies》是一本专注于Java事务设计的专业书籍,由Mark Richards编写。本书详细介绍了Java应用程序中的事务处理策略和技术,帮助开发人员更好地理解和实现复杂的企业级应用中的事务...
Oracle 数据完整性嵌套事务调用分析研究 Oracle 数据库中,数据完整性是指数据的正确性、完整性和一致性。为了保护数据的完整性,我们可以使用多种方法,例如数据表的主键约束、外键约束、触发器等等。在处理数据...
- **事务管理系统(Transaction Management System, TMS)**:负责管理和控制事务的执行流程,确保事务的ACID特性得到满足。 - **并发控制(Concurrency Control)**:处理多个事务同时访问同一资源时可能出现的问题...
事务处理:概念与技术 英文版pdf,本书列举了大量成功的商业和研究系统的实例,此外,列出了许多事务处理算法的可编译的C代码片段。本书对于那些对实现分布式系统或客户-服务器结构感兴趣的人来说,是值得一读的。 ...
### 基于J2EE分布式事务的应用技术研究 #### 分布式事务处理的重要性与背景 随着计算能力的成本不断下降以及网络带宽的显著提升,分布式计算程序得到了迅速发展。这些程序通常基于组件构建,形成了服务架构。在...
显式事务需要使用BEGIN TRANSACTION、COMMIT和ROLLBACK语句来明确指定事务的开始、提交和回滚。隐式事务是指SQL SERVER自动处理事务的开始和提交,每个新的SQL语句都是新事务的开始。 SQL SERVER中的事务日志记录了...
在DTP模型中,事务处理由多个组件协同工作,包括应用程序(Application)、事务管理器(Transaction Manager)、资源管理器(Resource Manager)和通信资源管理器(Communication Resource Manager)。应用程序定义...
分布式事务在大型分布式系统中是不可或缺的,它确保了数据的一致性和完整性。TCC(Try-Confirm-Cancel)模式是...通过深入研究这些源码,我们可以更好地掌握分布式事务的处理方式,提升在大型分布式系统中的开发能力。
SQLite是Android系统中广泛使用的轻量级数据库,它支持事务处理,这在数据一致性与安全性方面扮演着...通过研究这个示例,你可以更好地理解和掌握SQLite事务的使用技巧,从而在自己的应用中实现高效且安全的数据管理。
在长事务处理方面,已有的一些模型和机制,例如saga模型,将长事务分解成一系列子事务执行,并通过补偿事务(Compensation Transactions)来实现长事务的恢复。尽管这种方法在理论上可以提高并发处理能力,但实际...
文章还提供了一个数据库日志记录的示例格式,日志记录包含日志序列号(lsn)、操作类型(如insert, delete, update)、事务序列号(transactionID)、操作的元组数据(recordvalue)以及日志记录的描述(description...
通过研究这个项目,开发者可以深入理解分布式事务的原理,学习如何在实际开发中利用Dubbo和TCC模式来构建高可用、高性能的分布式系统。此外,该项目也提供了评论功能,便于开发者交流心得,共同提升对分布式事务...
在SQL数据库管理中,事务(Transaction)是执行一系列操作的逻辑单位,这些操作要么全部成功,要么全部回滚,以确保数据的完整性和一致性。在本"SQL事务处理代码共享"资源中,我们重点关注如何在实际编程中实现SQL...
在SQL Server 2005中,可以通过BEGIN TRANSACTION、COMMIT TRANSACTION和ROLLBACK TRANSACTION语句来显式地控制事务的开始、提交和回滚。此外,系统还提供了自动提交事务的模式,即每条DML语句都作为一个隐式事务。 ...