事务

作者: 画个完美句号 | 来源:发表于2016-07-03 21:30 被阅读22次

事务管理

事务(Transaction):

1、构成单一逻辑工作单元的操作集合

DBMS中的用户程序

DBMS外的可执行程序

对数据库的读/写操作序列

2、读

从数据库中读取数据,首先从磁盘中读到内存(Buffer Pool),然后赋给变量。

3、写

先完成内存中的数据复制,然后写入磁盘。

事务的特性-ACID:

原子性(Atomicity)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability)

事务的特性-原子性:

事务中的操作,要么全做成,要么都不做

事务是不可拆分的

事务必须以 Commit/Rollback 结束

事务的特性-一致性:

单独运行的事务,必须保证保持数据库的一致状态

从一个一致状态迁移到另一个一致状态

与原子性相关

事务的特性-隔离性:

多个并发事务之间不能相互干扰

并发不影响事务的执行

事务的特性-持久性:

一旦事务成功完成(Commit),它对数据库的更新应该是持久的

即使在写入磁盘之前,系统发生故障

在下次启动之后,也应保障数据更新的有效

事务及事务管理器:

恢复和并发控制是事务管理的重要组成部分

恢复管理部件负责保证事务的原子性与持久性

并发控制部件负责事务的并发控制机制,实现事务的隔离性与一致性

事务管理器实现事务的ACID

事务的提交与回滚:

提交( Commit )

通知事务管理器一个逻辑工作单元已完成,所做的更新操作可以被提交或永久保留

表明事务成功地结束

执行有效性检验

回滚( RollBack)

通知事务管理器事务未能正常完成,数据库可能处于不一致状态,当前事务所做的所有更新操作必须撤消

表明事务不成功地结束

事务的状态:

活动状态(Active),初始状态,事务正在执行时处于此状态

部分提交状态,事务的最后一条语句被执行后

失败状态,发现正常的操作不能继续后

中止状态,事务回滚且数据库已恢复到事务开始时的状态

重启事务——不是由于内部逻辑错误导致的故障

杀死事务

提交状态,事务成功完成

事务的并发:

多个事务可能同时(交叉地)在系统中运行

提高处理器、磁盘的利用率

减少等待时间

多个事务并发运行,由事务管理器进行调度

可串行化调度

并发运行的结果,与事务按某一顺序串行运行的结果等同

0

相关文章

  • java事务

    1、java事务介绍 2、JDBC事务 3、JTA事务 1、java事务介绍 java事务分类:JDBC事务、...

  • 事务、MySQL与Python交互、Python 中操作 MyS

    1、事务 事务操作分两种:自动事务(默认)、手动事务 手动事务的操作流程 开启事务:start transacti...

  • 数据库事务书目录

    数据库事务 事务概念 本地事务 全局事务 全局事务的定义 J2EE中全局事务的实现 全局事务的优缺点 基于消息的分...

  • MySQL事务

    MySQL-innodb-事务 事务的特性 事务的生命周期 失败的事务: 事务的控制语句 面试题 事务日志-red...

  • mysql事务隔离机制及其隔离级别、实现原理分析

    目录 事务特性ACID属性 并发事务带来的问题 事务隔离级别 事务实现原理 事务特性ACID属性 事务特性指的就是...

  • MULE事务配置

    在mule的事务可能为jdbc事务,jms事务,xa事务等,多种事务.这里讲解事务的几个动作: 相关的文档:htt...

  • 事务—事务模型

    程序猿基础知识的学习、理解、整理——事务(方方土) 事务,看似很简单,其实很复杂,作为一个程序猿,你对事务到底了解...

  • 事务—XA事务

    程序猿基础知识的学习、理解、整理——事务(方方土) 什么是XA事务?在什么场景下会出现XA事务? @Transac...

  • 事务—事务模式

    程序猿基础知识的学习、理解、整理——事务(方方土) 什么是事务模式?这里提到的事务模式,主要是指在系统设计过程中的...

  • JDK动态代理给Spring事务埋下的坑

    service 模拟动态代理事务 测试类 预测结果模拟事务:开启事务execute doLink模拟事务:关闭事务...

网友评论

      本文标题:事务

      本文链接:https://www.haomeiwen.com/subject/jidcjttx.html