`
mychao
  • 浏览: 1872 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

事务的基本概念

阅读更多
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)**:事务中的所有操作要么全部成功,要么全部失败。如果其中任何一部分失败,则...

    net中事务循环net中事务循环

    ### 事务基本概念 事务(Transaction)是数据库操作的一个逻辑单元,它包含一系列的操作,这些操作要么全部成功,要么全部失败,以此来保证数据的一致性。事务通常具有ACID特性: - **原子性**(Atomicity):事务...

    分布式事务原理及解决方案.docx

    事务基本概念 事务是一种用于确保数据完整性和一致性的机制,通常具有以下四个主要特征: - **原子性(Atomicity)**:事务被视为一个不可分割的整体,其中的所有操作要么全部成功,要么全部失败。 - **一致性...

    C#操作事务

    一、事务基本概念 事务是数据库系统中最小的工作单元,它包含了多个数据库操作。一个事务必须满足ACID(原子性、一致性、隔离性和持久性)属性,以确保数据的完整性和一致性。 1. 原子性(Atomicity):事务中的...

    事务的概念

    事务的基本概念和在不同环境下如何使用事务。

    软考系分之数据库事务并发与事务加锁

    #### 一、数据库事务基本概念 在数据库领域,事务(Transaction)是由一系列操作组成的逻辑工作单元。事务具备四个关键特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性...

    事务处理概念与技术

    事务是数据库管理中的一个基本操作单元,它包含一系列的操作,这些操作要么全部成功,要么全部失败。事务处理确保了数据的一致性和可靠性。事务具有四个主要特性:原子性(Atomicity)、一致性(Consistency)、隔离性...

    GBase 8s事务相关概念

    在数据库管理中,事务是确保数据一致性、完整性和可靠性的核心概念。以下是关于GBase 8s中事务相关概念的详细解释: 1. **事务**:事务是数据库系统中执行的基本工作单元,它包含了一组逻辑操作,这些操作要么全部...

    常用的分布式事务解决方案.docx

    ### 分布式事务基本概念与理论基础 #### 一、事务概述 事务是数据库操作的基本单位,一组操作被视为一个整体,要么全部成功,要么全部失败。事务具备四大特性:原子性(Atomicity)、一致性(Consistency)、隔离...

    Spring Boot数据库事务控制.pptx

    1.问题引入 2.事务基本概念、特性 3.事务并发引起问题,隔离级别 4.Springboot事务控制

    C#中调用Transaction

    事务基本概念 事务是数据库操作的一组逻辑单元,它包含一系列相互关联的操作,这些操作要么全部执行,要么全部不执行,确保数据的一致性和完整性。事务通常涉及增删改查(CRUD)数据库操作。四大事务特性,即ACID...

    10141207-何伟_教学设计新部编版方案.pdf

    - **事务基本概念**:事务是数据库操作的基本单位,由一系列数据库操作组成,这些操作要么全部执行,要么全部不执行。 - **事务特征**: - **原子性**:事务的所有操作视为单个操作,不可分割,如果事务中任何...

    讨论数据库管理系统中查询处理和事务管理的基本概念和基础知识

    数据库管理系统(DBMS)是现代信息技术的核心组成部分,它负责存储、检索、更新和管理大量数据。在DBMS中,查询处理和事务管理是两个至关重要的功能,它们确保了...以下是事务管理的基本概念: 事务:事务是一组操作序

Global site tag (gtag.js) - Google Analytics