转自(http://ayufox.iteye.com/blog/204439)
1. 事务四要素( ACID )
Ø Atomicity (原子性):工作单元不可分;要么执行所有数据修改,要么不执行任何数据修改。
Ø Consistency (一致性):事务完成后,必须使所有数据处于一致的状态。
Ø Isolation (隔离性):无法在事务之外看到中间状态的数据。
Ø Durability (持久性):事务完成之后,其作用将永久保留在系统中。
2. 并发
1) 并发的基本问题
Ø 丢失更新
Ø 不一致读
Ø 死锁
2) 隔离和只读
3) 锁类型
Ø 共享锁( S )
Ø 排它锁( X )
4) 乐观锁和悲观锁
Ø 乐观锁重在冲突检测,悲观锁重在避免冲突
Ø 乐观锁将比悲观锁拥有更好的并发能力
5) 隔离级别与不一致读错误
隔离级别与并发性是互为矛盾的:隔离程度越高,数据库的并发性越差;隔离程度越低,数据库的并发性越好。
隔离级别
读脏数据
不可重复读
幻影读
Read Uncomitted
Yes
Yes
Yes
Read Committed
No
Yes
Yes
Repeatable Read
No
No
Yes
Serializable
No
No
No
3 . Oralce 事务
1)Oracle 常用锁类型
锁
SQL
None
select
SS(Table-S&Row-S) :行级共享锁,其他对象只能查询这些数据行
Select for update 、 Lock for update 、 Lock row share
SX(Table-S&Row-X) :行级排它锁,在提交前不允许做 DML 操作
Insert 、 Update 、 Delete 、 Lock row share
S(Table-Share) :共享锁
Create index
X(Table-Exclusive) :排它锁
Alter table 、 Drop able 、 Drop index 、 Truncate table
2)Oralce 的隔离级别
ORACLE 提供了 SQL92 标准中的 read committed 和 serializable ,同时提供了非 SQL92 标准的 read-only 。
3. 分布式事务
1)JTA : Java Transaction API
2) 跨资源事务
3) 跨进程事务
4. 事务传播
Ø Required
Ø Support
Ø Mandatory
Ø Required new
Ø Not Support
Ø Never
5 . Spring 对事务的支持
Ø TransactionAttribute :定义事务属性,包括传播属性、隔离级别、超时时间、是否只读和异常回滚策略
Ø TransactionAttributeSource :定义了事务属性的获取接口,其实现包括通过 Annotation 获取事务属性 (AnnotationTransactionAttributeSource)
Ø PlatformTransactionManager :事务管理器接口,其实现了具体的事务策略,包括 JTA 、 Hibernate 、 DataSource 、 JDO 等实现
Ø TransactionInterceptor :事务拦截器,基于 AOP 的声明式事务
Ø TransactionTemplate :手工事务模板类
分享到:
相关推荐
数据库事务总结数据库事务总结数据库事务总结数据库事务总结
Java事务总结
该文档从sqlserver事务讲起,详述ACID,@@trancount,在嵌套事务中使用保存点,命名事务等
事务失效、事务回滚、大事务问题、编程式事务
分布式事务总结,包括了目前所知道的理论,二段三段saga协议。但没有包括一致性算法
事务的基本特征;事务的隔离级别;在数据库操作过程中很可能出现几种不确定的情况;不同的隔离级别对事务的处理;在选取数据库的隔离级别时,应该注意以下几个处理的原则:.锁,锁的特点,多个用户同时对数据库的并发...
spring配置事务 项目总结出来的 公司多年开发经验 使用 方便
Java事务处理总结[归类].pdf
java事务处理总结,让你正确的去理解java中事务的规范
Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务,本文详细介绍了JDBC事务与JTA分布式事务,有需要的可以了解一下。
事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。 使用 JDBC 事务界定时,您可以将多个 SQL 语句结合到一个事务中。JDBC 事务的一个缺点是事务的范围局限于一个数据库连接。一个 JDBC 事务...
1.本地事务+动态数据源+单sessionFactory 2.全局事务+动态数据源+单sessionFactory 3.全局事务+多sessionFactory
1、详细介绍了Seata阿里分布式事务中间件; 2、对整个分布式事务解决方案原理进行了详细的分析,包括tcc、xa、saga等解决方案 3、IT老齐老师视频资料配套pdf;
税务师事务所个人工作总结扫描.pdf
会计师事务所项目经理工作总结.pdf
工作总结会计工作总结会计师事务所年度工作总结会计师事务所工作总结范文
会计师事务所试用期工作总结.pdf
sqlite3事务总结: 在connect()中不传入 isolation_level 事务处理: 使用connection.commit() #!/usr/bin/env python # -*- coding:utf-8 -*- '''sqlite3事务总结: 在connect()中不传入 isolation_level 事务处理: ...
10、分布式事务总结 11、自定义注解+AOP 12、权限中的概念梳理 13、登录.授权流程梳理 14、RuoYi-Vue3 15、动态菜单加载思路 16、Vue3中的数据加载 17、Promise 18、Vue3和Vue2的差异 19、Vue3中自定义插件 20、Vue...