事务相关
来源:互联网 发布:基因表达数据 编辑:程序博客网 时间:2024/04/25 16:26
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
原子性(Atomicity):一个事务必须将它产生的所有更改作为一个单独的工作单元提交,或者回滚。对于其数据修改,要么全部执行,要么全部不执行。即所有的更改操作被当成一个整体处理。
一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态。在事务期间,每次对数据库实施的插入、更新或删除操作时,数据库的完整性约束都要得到保证——即使在事务还未提交时也必须如此。
独立性(Isolation):由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。独立性是由一致性和并发性共同决定的。在独立性级别提高时,一致性将会会更好,但并发程度将降低。
持久性(Durability):事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
Java中的常用的事务模型:
本地事务模型(Local Transaction Model)
编程式事务模型(Programmatic Transaction Model)
声明式事务模型(Declarative Transaction Model)
本地事务模型:事实上不是编程框架本身来管理事务,事务是交给本地资源管理器(local resource manager)来管理。资源管理器是用于通信的、事实上的数据源(dara source)提供者。如,数据库相关,资源管理器是通过数据库驱动和数据库管理系统(DBMS)来实现的。经由本地事务模型,开发人员管理的是“连接(connection)”,而非“事务”。
编程式事务管理:利用了Java事务API及其底层事务服务实现的能量以提供事务支持,突破了“本地事务模型”的种种限制。通过编程式事务模型,开发人员的编码对象是“事务”,而非“连接”。
声明式事务模型:在声明式事务模型的环境下,软件框架或“容器”管理了事务的开始和结束(或者提交,或者回滚)。开发人员仅仅需要告诉软件框架,碰到应用异常时“去回滚事务”即可,对事务的配置都是通过EJB中的XML部署描述文件或Spring中Bean的定义文件来完成。
原子性(Atomicity):一个事务必须将它产生的所有更改作为一个单独的工作单元提交,或者回滚。对于其数据修改,要么全部执行,要么全部不执行。即所有的更改操作被当成一个整体处理。
一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态。在事务期间,每次对数据库实施的插入、更新或删除操作时,数据库的完整性约束都要得到保证——即使在事务还未提交时也必须如此。
独立性(Isolation):由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。独立性是由一致性和并发性共同决定的。在独立性级别提高时,一致性将会会更好,但并发程度将降低。
持久性(Durability):事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
Java中的常用的事务模型:
本地事务模型(Local Transaction Model)
编程式事务模型(Programmatic Transaction Model)
声明式事务模型(Declarative Transaction Model)
本地事务模型:事实上不是编程框架本身来管理事务,事务是交给本地资源管理器(local resource manager)来管理。资源管理器是用于通信的、事实上的数据源(dara source)提供者。如,数据库相关,资源管理器是通过数据库驱动和数据库管理系统(DBMS)来实现的。经由本地事务模型,开发人员管理的是“连接(connection)”,而非“事务”。
编程式事务管理:利用了Java事务API及其底层事务服务实现的能量以提供事务支持,突破了“本地事务模型”的种种限制。通过编程式事务模型,开发人员的编码对象是“事务”,而非“连接”。
声明式事务模型:在声明式事务模型的环境下,软件框架或“容器”管理了事务的开始和结束(或者提交,或者回滚)。开发人员仅仅需要告诉软件框架,碰到应用异常时“去回滚事务”即可,对事务的配置都是通过EJB中的XML部署描述文件或Spring中Bean的定义文件来完成。
- 事务相关
- 事务的相关知识
- 分布式事务相关
- 事务的相关知识
- 和事务相关概念
- 查看Spring事务相关
- WCF事务相关定义
- Spring 事务相关
- Oracle锁、事务相关
- DefaultMessageListenerContainer事务相关问题
- JDBC事务相关概念
- SQL SERVER 事务相关
- Oracle 事务相关
- 数据库事务相关
- 事务相关知识点
- Spring 事务相关
- 话说事务相关知识
- 事务注解 相关问题
- [java]Math中的ceil--floor--round
- MPEG-4 AVC/H.264 一些知识
- qt 编译c文件,extern “c”
- Header();
- Hibernate的实体类中为什么要继承Serializable?
- 事务相关
- [java]函数的递归调用--代码举例
- Oracle 11g系列—2—用户管理
- 将C++文件间的编译依赖性降至最低【ZZ】
- Kruskal次小生成树 :The Unique MST
- poj 1743 Musical Theme
- [java]关键字this和super
- Andriod OpenGL 教程 04 - 旋转
- LVM逻辑卷管理:增加LV容量