事务的理解transaction

本文详细阐述了数据库事务的概念及四大特性:原子性、一致性、隔离性和持久性,并介绍了因隔离性不佳导致的脏读、不可重复读及幻读等问题。此外,还对比分析了四种不同的事务隔离级别,包括它们的优缺点以及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 事务的概念

逻辑上的一组操作,含有几个组成部分,这几个部分构成一个整体,操作要么全部成功,要么全部失败并返回原状态!

典型举例:银行转账: 扣款 和 入账 必须同时执行成功,要么都不成功,要么都成功


二事务的特性

1.原子性:即一个事务就是一个最小单位,不可再进行分割

2.一致性:即一个事务内操作要么全部成功,要么全部都不成功,保持原样,执行前后状态一直

3.隔离性:事务执行过程中 不应该受到其他事务干扰

4.持久性:事务一旦提交,就会被保存到数据库中


三 隔离性不佳会引发的问题

1 脏读 : 读取到另外一个事务尚未提交的数据(另外也给事务可能操作了但没有持久化)

2 不可重复读: 一个事务读取到另外一个事务已经提交的update数据,造成多次查询数据不一致(查询到可能未提交过会提交,两次数据不一致)

3 虚读(幻读):一个事务读取到另外一个事务已经提交的insert数据,造成查询前后数据不一致


四 隔离级别(读取采用隔离级别解决)

1. read uncommitted | 0 未提交读  

此隔离级别最低,可能发生多种状况  ,即效率高、不安全

2.read committed | 1 已提交读    oracle默认隔离级别

此隔离级别只能看到已经提交的数据,但有可能有不可重复读问题。 避免脏读

3.repeatable read | 2 可重复读 mysql默认隔离级别

可以确保同一个事务中多个实例并发读取数据时,看到到的数据一致。但可能有幻读问题。避免脏读和不可重复读

4.serializable | 3 可序列化

可以确保以上几种情况都不会发生,强制所有事务排序,但效率低,一般不会使用。


五 hibernate数据丢失问题(更新操作采用verion控制解决

举例: 同一条数据对象同时被两个事务同时读取到更新,造成一组事务更新数据丢失,只有最后一个事务更新成功。

解决方案:

1.悲观锁:

将表单锁住,等待一个更新完毕,另外一个才可以操作

2.乐观锁:

在JavaBean上加上version属性,两组事务同时读取到version0; 其中一个事务更新后javabean版本号会变更为version1,另外一组事务更新是发现版本号变了,则重新读取再更新.  需要在xml中配置<version name="version"></version>属性

### 回答1: Active Directory域服务是一种由微软公司开发的网络服务,它提供了一种集中管理和控制网络资源的方式。它可以在一个域中集中管理用户、计算机、应用程序和其他网络资源,从而提高了网络的安全性和可管理性。Active Directory域服务还提供了一些高级功能,如单点登录、组策略管理和域名系统(DNS)集成等,使得网络管理员可以更加轻松地管理和维护网络。 ### 回答2: Active Directory域服务(Active Directory Domain Services,简称AD DS)是微软公司的一项用于管理和组织网络资源的目录服务。它是一种基于LDAP(轻量级目录访问协议)的目录服务,可以让用户和管理员方便地管理和访问网络中的资源。 AD DS的主要功能包括用户身份认证、访问控制、组管理和资源管理等。通过AD DS,管理员可以集中管理和配置用户和计算机的访问权限,确保系统安全。同时,AD DS还提供了域的集中管理功能,管理员可以通过域控制器管理域中的所有对象,并在域中实施策略。 AD DS还支持单点登录功能,用户只需在登录到域之后,即可自动访问到所属域中的资源,而无需再次输入用户名和密码。这大大提高了用户的工作效率。 此外,AD DS还支持多域架构,可以通过建立信任关系实现跨域资源的访问和管理。管理员可以维护多个域之间的信任关系,实现用户和资源的统一管理。 总而言之,AD DS是一种强大的目录服务,可以实现用户和资源的集中管理和访问控制,提高网络系统的稳定性和安全性。它是企业网络管理的重要组成部分,为企业提供了高效的身份认证和资源管理功能,增强了企业的生产力和安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值