1. 什么是事务?
从四个关键概念谈起:
原子性 – 所有操作要么都成功,要么都失败
一致性 – 事务不能违反完整性约束(比如虽然事务还未提交,但仍需遵守各种约束规则,这些规则是在事务提交之前而非在事务提交以后才生效!) 隔离性 – 一个事务的效果,不影响正在同时执行的其它事务,那么,不影响的程度如何呢?这个由隔离级别来定义,标准的隔离级别有下列四种:
(1)未提交读(read uncommitted)
脏读 – (dirty read) 当一个事务读取另一个事务尚未提交的修改时,产生脏读。
(2)提交读(read committed)
不可重复读 – (nonrepeatable read) 同一查询在同一事务中多次进行,由于其他
提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读。
(3)重复读(repeatable read)
幻读 – (phantom read) 同一查询在同一事务中多次进行,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时发生幻像读。
(4)序列化(serializable) 顺序读取
持久性 – 一旦事务成功完成,则数据必需保证已经正确的持久化(保存)!
2.JDBC事务与JTA事务
JDBC事务只能支持一个数据库(单数据源),而JTA可以支持分布式的事务(多数据源)。
(1)JDBC事务,一般由数据库本身来执行提交或回滚操作(单阶段提交)。所有数据库
都有它自己的事务管理器,这些管理器只能处理其自身的事务(称为本地事务)。 而JTA则不同,JTA要支持多个数据源,站在更高的角度上,提供一个“事务处理
监视器(TPM)”来管理和协调这些数据源之间的事务操作。它必需执行两阶段提交(2PC)协议。
(2)准备阶段 – TPM向所有RM(资源管理器,即数据库)确认状态,是否可以提交
或回滚
(3)提交阶段 – TPM确认提交之后,向所有RM发出提交指令(或回滚) TPM本身会维护事务日志,以保证持久性(灾难恢复等)
3. 传播特性
Not Supported – 不支持,如果当前有事务上下文,将挂起当前的事务
Supports - 支持,如果有事务,将使用事务,如果没有事务,将不使用事务
Required - 需要,如果当前有事务上下文,将使用当前的上下文事务,如果没有,将创建新的事务
Required New - 需要新的事务,如果当前有事务上下文,将挂起当前的事务,并创建新的事务去执行任务,执行完成之后,再恢复原来的事务
Mandatory - 当前必须要有事务上下文,如果当前没有事务,将抛出异常 Never - 当前必须不能有事务上下文,如果有事务,将抛出异常
分享到:
相关推荐
分布式事务实战(二) - 事务基本概念 事务是数据库操作的核心机制,它提供了一种可靠且一致的方式来处理数据库中的数据。事务被视为一个不可分割的工作单元,其中包含一系列的数据库操作,这些操作要么全部成功执行...
作者使用事务作为基本概念,说明了在有限的资金和风险下如何构建高性能的高可用性应用。书中还详细阐述了各种可能发生的问题,以及解决这些问题的实际可用的技术。 本书列举了大量成功的商业和研究系统的实例,...
1.事务基本概念讲解(本地、分布式) 2.分布式事务理论(CAP、BASE) 3.分布式事务解决方案之2PC(xa、seata) 4.分布式事务解决方案之TCC(hmily) 5.分布式事务解决方案之可靠消息最终一致性 6.分布式事务解决方案...
#### 一、分布式事务基本概念 在理解分布式事务之前,我们首先需要了解数据库事务的基本属性,即ACID特性。 - **原子性(Atomicity)**:事务中的所有操作要么全部成功,要么全部失败。如果其中任何一部分失败,则...
### 事务基本概念 事务(Transaction)是数据库操作的一个逻辑单元,它包含一系列的操作,这些操作要么全部成功,要么全部失败,以此来保证数据的一致性。事务通常具有ACID特性: - **原子性**(Atomicity):事务...
事务基本概念 事务是一种用于确保数据完整性和一致性的机制,通常具有以下四个主要特征: - **原子性(Atomicity)**:事务被视为一个不可分割的整体,其中的所有操作要么全部成功,要么全部失败。 - **一致性...
一、事务基本概念 事务是数据库系统中最小的工作单元,它包含了多个数据库操作。一个事务必须满足ACID(原子性、一致性、隔离性和持久性)属性,以确保数据的完整性和一致性。 1. 原子性(Atomicity):事务中的...
事务的基本概念和在不同环境下如何使用事务。
#### 一、数据库事务基本概念 在数据库领域,事务(Transaction)是由一系列操作组成的逻辑工作单元。事务具备四个关键特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性...
事务是数据库管理中的一个基本操作单元,它包含一系列的操作,这些操作要么全部成功,要么全部失败。事务处理确保了数据的一致性和可靠性。事务具有四个主要特性:原子性(Atomicity)、一致性(Consistency)、隔离性...
#### 一、事务基本概念 事务(Transaction)是指一系列操作,这些操作要么全部成功执行,要么全部回滚,确保数据的一致性和完整性。事务具备四个特性,即 ACID 特性: 1. **原子性**(Atomicity):整个事务中的...
在数据库管理中,事务是确保数据一致性、完整性和可靠性的核心概念。以下是关于GBase 8s中事务相关概念的详细解释: 1. **事务**:事务是数据库系统中执行的基本工作单元,它包含了一组逻辑操作,这些操作要么全部...
### 分布式事务基本概念与理论基础 #### 一、事务概述 事务是数据库操作的基本单位,一组操作被视为一个整体,要么全部成功,要么全部失败。事务具备四大特性:原子性(Atomicity)、一致性(Consistency)、隔离...
1.问题引入 2.事务基本概念、特性 3.事务并发引起问题,隔离级别 4.Springboot事务控制
事务基本概念 事务是数据库操作的一组逻辑单元,它包含一系列相互关联的操作,这些操作要么全部执行,要么全部不执行,确保数据的一致性和完整性。事务通常涉及增删改查(CRUD)数据库操作。四大事务特性,即ACID...
- **事务基本概念**:事务是数据库操作的基本单位,由一系列数据库操作组成,这些操作要么全部执行,要么全部不执行。 - **事务特征**: - **原子性**:事务的所有操作视为单个操作,不可分割,如果事务中任何...