MySQL事物系列:1:事物简介
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:事物简介的更多相关文章
- MySQL是如何实现事物隔离?
前言 众所周知,MySQL的在RR隔离级别下查询数据,是可以保证数据不受其它事物影响,而在RC隔离级别下只要其它事物commit后,数据都会读到commit之后的数据,那么事物隔离的原理是什么?是通过 ...
- Spring系列之事物是如何管理的
前言 我们都知道Spring给我们提供了很多抽象,比如我们在操作数据库的过程中,它为我们提供了事物方面的抽象,让我们可以非常方便的以事物方式操作数据库.不管你用JDBC.Mybatis.Hiberna ...
- Mysql备份系列(1)--备份方案总结性梳理
mysql数据库备份有多么重要已不需过多赘述了,废话不多说!以下总结了mysql数据库的几种备份方案: 一.binlog二进制日志通常作为备份的重要资源,所以再说备份方案之前先总结一下binlog日志 ...
- MySQL基础之自连接用法简介
MySQL系列之自连接简介,MySQL自连接操作,没有特定的关键字,所谓自连接指的是同一个表不同实例之间的join操作 引用https://www.w3resource.com的图示: 特征: 自连接 ...
- Spring 系列: Spring 框架简介 -7个部分
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...
- Mysql优化系列(2)--通用化操作梳理
前面有两篇文章详细介绍了mysql优化举措:Mysql优化系列(0)--总结性梳理Mysql优化系列(1)--Innodb引擎下mysql自身配置优化 下面分类罗列下Mysql性能优化的一些技巧,熟练 ...
- Mysql备份系列(4)--lvm-snapshot备份mysql数据(全量+增量)操作记录
Mysql最常用的三种备份工具分别是mysqldump.Xtrabackup(innobackupex工具).lvm-snapshot快照.前面分别介绍了:Mysql备份系列(1)--备份方案总结性梳 ...
- Spring 系列: Spring 框架简介(转载)
Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在 ...
- [渣译文] SignalR 2.0 系列: SignalR简介
原文:[渣译文] SignalR 2.0 系列: SignalR简介 英文渣水平,大伙凑合着看吧,并不是逐字翻译的…… 这是微软官方SignalR 2.0教程Getting Started with ...
随机推荐
- 摩登家庭第一季/全集Modern Family迅雷下载
本季Modern Family Season 1 第一季(2009)看点:<摩登家庭>瞄准的是三对各有不同的美国家庭:一对普通父母与三个孩子.一对同性恋夫夫从越南领养了养女组成三口之家,一 ...
- actuator监控
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- js混淆代码还原-js反混淆:利用js进行赋值实现
js混淆代码还原-js反混淆:利用js进行赋值实现 [不想用工具的直接看方法二] 本文地址:http://www.cnblogs.com/vnii/archive/2011/12/14/22875 ...
- MongoDB资料大全
摘要: 为了帮助大家进一步了解MongoDB,云栖社区组织翻译了GitHub Awesome MongoDB 资源,涵盖MongoDB中常见的库与工具.应用列表.以及相关的文档.教程等资源. Mong ...
- 5句mysql语句
显示表的结构: mysql> DESCRIBE MYTABLE; 往表中加入记录 mysql> insert into MYTABLE values ("hyq",&q ...
- 【Codeforces】【#295】【Div.1】
嘛,一直以来蒟蒻都没怎么打过CF……现在还是蓝名狗……今天跟着zyf打了一场virtual,果断一题滚粗
- GAN与NLP的讨论
https://www.jianshu.com/p/32e164883eab 这篇文章,GAN与NLP的讨论,可以看看.
- Groupnet, Subnet, IP Pool的概念
Groupnet是OneFS 8.0新引入的network object,专门为了服务Multi-Tenancy而创建,目的是让OneFS可以同时地处理多套网络配置. 如果用户不需要使用multi-t ...
- Remove Duplicates from Sorted Array II leetcode java
题目: Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For e ...
- 分布式高并发物联网(车联网-JT808协议)平台架构方案
技术支持QQ:78772895 1.车载终端网关采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接.上行以及下行消息的解码.编码.流量控制,黑白名单等安全控制 ...