1:事物是一组SQL的集合,要么都执行,要么都不执行。有ACID4个特性,即:原子性、一致性、隔离性、持久性。

A(Atomicity)原子性:整个事物是不可分割的工作单位。

C(consistency)一致性:是指事物将数据库从一种状态变为另外一种状态。在事物之前和事物之后,数据库的完整性约束没有被破坏。

I(isolation)隔离性:隔离性的其他称呼:并发控制(concurrency control)、可串行、锁。即:该事物提交之前对其他事物不可见。

D(durability)持久性:事物一旦提交,其结果就是永久性的,及时发生宕机等故障,数据库也能将数据恢复。

特殊:MySQL的NDB Cluster引擎来说,虽然其支持事物,但是不能满足D的要求;Oracle的事物隔离级别是READ COMMITTED,不满足I的要求,即不满足隔离性。

InnoDB的存储引擎默认是READ REPEATABLE的事物隔离级别。

2:事物的分类

扁平事物

带有保存点的扁平事物

链事物

嵌套事物

分布式事物

3:扁平事物是事物模型中最简单的一种。从BEGIN WORK开始,到COMMIT WORK或者ROLLBACK WORK 结束。

扁平事物的3中不同的结果:

扁平事物的缺点:一旦设计的操作比较多,事物较大,如需求回滚某一小部分则花费的代价较大。由此,引出了带有保存点的扁平事物。

4:带有保存点的的扁平事物

该事物允许事物执行过程中回滚到同一事物中较早的一个状态。

5:链式事物

6:嵌套事物

7:分布式事物

通常在分布式环境中运行的扁平事物,因此需要根据数据所在位置访问网络中的不同节点。

例如:用在在ATM进行银行转账操作。从招商转账到工商。

ATM可以视为节点A;发出转账申请

招商后台数据库可以视为节点B;扣款

工商后台数据库可以视为节点C;增款

A节点收到同时完成或者失败。

这里需要用到分布式事物,因为A节点不能通过调用一台数据库完成任务,访问网络中两个节点的数据库,在每个节点的数据库执行的事物操作又都是扁平事物。对于分布式事物,同样满足ACID特性,要么都发生,要么都失效。

MySQL事物系列:1:事物简介相关推荐

  1. MySQL入门系列:查询简介(四)之类型转换和分组查询

    前文回顾 之前我们介绍了一些简单查询的方式以及MySQL中表达式和函数的简单使用,本篇文章继续介绍如何使用MySQL进行查询. 类型转换 类型转换的场景 只要某个值的类型与上下文要求的类型不符,MyS ...

  2. mysql 开启事物_redis系列之——事物及乐观锁

    学习mysql的时候,我们常说mysql是有事物的,事物有ACID四个特性,原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability) ...

  3. information_schema系列八(事物,锁)

    information_schema系列八(事物,锁) 今天我们主要看一下MySQL information_schema里面的关于innodb的锁和事物的两三个系统表: 看一下锁对应的sql: se ...

  4. 数据库MYSQL学习系列三

    数据库MYSQL学习系列三 三.MYSQL事务与存储引擎 3.1-数据库事务 什么是事务 一系列有序的数据库操作: o要么全部成功 o要么全部回退到操作前的状态 o中间状态对其他连接不可见 事务的 ...

  5. mysql mgr简介_mysql8.0初探:(二)MySQL Group Replication-MGR集群简介

    mysql8.0初探:(二)MySQL Group Replication-MGR集群简介 发布时间:2020-06-12 23:59:17 来源:51CTO 阅读:49832 作者:arthur37 ...

  6. MySQL语句系列--查询语句大全(有示例)

    原文网址:MySQL语句系列--查询语句大全(有示例)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL查询语法(命令)的使用.包括:基本查询.运算条件.排序.分页.分组.联结.组合.子查询 ...

  7. MySQL索引系列--索引失效的原因/解决方案

    原文网址:MySQL索引系列--索引失效的原因/解决方案_IT利刃出鞘的博客-CSDN博客 简介 本文介绍数据库什么时候会索引失效以及如何避免索引失效. 这个问题也是Java后端面试中常见的问题. 失 ...

  8. MySQL索引系列--索引的优化--LIKE模糊查询

    原文网址:MySQL索引系列--索引的优化--LIKE模糊查询_IT利刃出鞘的博客-CSDN博客 简介         本文介绍MySQL的LIKE模糊查询索引的优化.主要是索引失效的解决方案. 索引 ...

  9. MySQL索引系列--联合索引--使用/原理/优化

    原文网址:MySQL索引系列--联合索引--使用/原理/优化_IT利刃出鞘的博客-CSDN博客 简介         本文介绍MySQL的联合索引(也可以称为:组合索引.复合索引)的用法. MySQL ...

最新文章

  1. SpringMVC学习系列(11) 之 表单标签
  2. 2017c 语言程序设计,C语言程序设计第一次作业(2017.10.10完成)
  3. LeetCode 29 两数相除
  4. MobaXterm 错行,乱码
  5. kali2020识别不到网卡_WIN10环境下台式机找不到RealTek HD管理器解决耳塞式耳机外放问题...
  6. H5新增特性之语义化标签
  7. python数据如何保存到excel中
  8. 什么是软件测试,软件测试需要注意些什么?
  9. 今日恐慌与贪婪指数为95 贪婪程度有所上升
  10. 如何在doc下运行java程序及打包成.jar格式的Java程序
  11. 字典表该如何写查询语句?
  12. 国家中小学网络平台爬虫项目
  13. IRF(智能弹性架构)
  14. 数仓搭建 ODS 层
  15. ArcGIS趋势面分析
  16. oracle查看分区名称,oracle学习笔记之 分区表
  17. 电脑上怎么录屏并保存?进来学习一下小技巧
  18. dns安全 涉及 术语
  19. 30岁程序员的转型思考
  20. 一步一步教你做ios推送 pem证书制作 php推送

热门文章

  1. HTML5学习笔记简明版(3):新元素之hgroup,header,footer,address,nav
  2. 加速键使用方法详解(示例)
  3. Win7 任务栏影藏、显示速度提升
  4. Adobe Achemy入门指南(二)
  5. 如何让Unity支持中文
  6. 分布式锁原理及实现方式
  7. springboot数据源配置属性
  8. 【IT基础】常见的开发文档
  9. java新特性对数组的支持
  10. Oracle CEO狂妄而真实的演讲