什么是事物?


事物是关系型数据库中,由一组sql组成的执行单元,该单元要么整体成功,要么整体失败。

事物的ACID特性

事物ACID特性,原子性,一致性,隔离性,持久性,这4个属性统称为ACID特性。

原子性:指事物包含的所有操作sql,要么整体成功,要么整体失败。

一致性:事物前的状态结果和事物后的状态的结果都是一致的。参考银行转账。

持久性:指一个事物一旦被提交了,那么数据就永久存储在磁盘中,即使系统故障了,数据也不会丢失。

如果事物没有进行隔离会出现三种严重的问题:脏读,不可重复读,幻读。

什么是脏读?
指一个事物处理的过程中读取了另一个未提交(回滚)的事物的数据。
什么是不可以重复读?
指多次查询却返回了不同的数值,这是由于查询间隔原因,被另一个事物修改并提交了。
什么是幻读?
指当事物A在读取某个范围内的记录时,B事物又在该范围内插入了新的记录,当A事物再次读取该范围内的记录时,就产生了幻读。

什么是分布式事物?

分布式事物,是指一个业务需要同时操作多个数据库的情况下,而且必须保持ACID的特性。一般应用于微服务的多服务处理。

在电商系统中,支付订单,就是一个分布式事物了
第一步:支付服务,修改支付订单状态。
第二步:订单服务,订单状态修改为已支付
第三步:库存服务,减库存
第四步:积分服务,为该用户送积分
以上4个步骤,在分布式系统中,是一个整体,也就是一个分布式事物。
该事物必须保证2点:
保证ACID特性
保证性能问题

感谢您的观看!

深入分析事物以及什么是分布式事物?相关推荐

  1. 分布式事物(2PC,3PC,CAP,柔性与刚性事物,LCN)

    转载自  https://blog.csdn.net/lizhen1114/article/details/80110317 分布式事物解决方案 分布式事物产生原因:主要产生与在微服务系统中,数据库的 ...

  2. 面试必备的分布式事物方案

    四月初,去面试了本市的一家之前在做办公室无人货架的公司,虽然他们现在在面临着转型,但是对于我这种想从传统企业往互联网行业走的孩子来说,还是比较有吸引力的. 在面试过程中就提到了分布式事物问题.我又一次 ...

  3. 浅谈实际开发中常用的分布式事物处理

    浅谈实际开发中常用的分布式事物处理 文章目录 前言 一.分布式事物 二.常用方案 1.使用记录表+mq机制 前言 随着微服务的流行,越来越多系统不在是单体结构,根据业务和功能拆分成不同微服务,这就导致 ...

  4. 分布式事物解决方案-TCC

    分布式事物解决方案-TCC 参考文章: (1)分布式事物解决方案-TCC (2)https://www.cnblogs.com/barrywxx/p/11439368.html 备忘一下.

  5. RocketMQ原理解析-producer 4.发送分布式事物消息

    2019独角兽企业重金招聘Python工程师标准>>> RocketMQ原理解析-producer 4.发送分布式事物消息 博客分类: MQ 为什么消息要具备事务能力 还是比较清晰的 ...

  6. seata 如何开启tcc事物_微服务分布式事务4种解决方案实战

    分布式事务 分布式事务是指事务的参与者,支持事务的服务器,资源服务器分别位于分布式系统的不同节点之上,通常一个分布式 事物中会涉及到对多个数据源或业务系统的操作. 典型的分布式事务场景:跨银行转操作就 ...

  7. 分布式事物一致性设计思路

    本地事务ACID大家应该都知道了,统一提交,失败回滚,严格保证了同一事务内数据的一致性!而分布式事务不能实现这种ACID,它只能实现CAP原则里的某两个,CAP也是分布式事务的一个广泛被应用的原型,C ...

  8. 分布式事物框架Easy-Transaction--使用入门介绍

    分布式事物框架Easy-Transaction--使用入门介绍 The origin This framework is inspired by a PPT (<大规模SOA系统的分布式事务处理 ...

  9. 分布式事物框架--EasyTransaction的入门介绍

    分布式事物框架--EasyTransaction的入门介绍 柔性事务,分布式事务,TCC,SAGA,可靠消息,最大努力交付消息,事务消息,补偿,全局事务,soft transaction, distr ...

最新文章

  1. Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) B. Verse Pattern 水题
  2. 总结一些关于操作数据库是sql语句还是存储过程问题
  3. java中foreach怎么访问,Java对象阵列Foreach方法访问
  4. 全球及中国超导磁铁探针台行业现状规模及“十四五”发展趋势预测报告2021-2027年版
  5. 年底了,给想进阶的的前端朋友一些福利
  6. t3软件怎么生成报表_临沂用友畅捷通T3财务通软件财税一体化
  7. linux:vi 替换命令
  8. php+正则匹配qq,正则表达式对qq号进行验证的实例
  9. Web 阶段梳理(2019.1.9)
  10. 2017.9.17 相关分析 思考记录
  11. java 序列化 写入mysql_java 序列化到mysql数据库中
  12. 吴恩达机器学习学习笔记第八章:正则化
  13. 【Codecs系列】HEVC标准(三):大尺寸四叉树分割技术
  14. 破解“冲动消费”难题,“李佳琦们”掀起618“反效率”之风
  15. 详解Oracle RAC 集群并发控制:DLM\GRD\GCS\GES傻傻分不清-grd文件
  16. txt 文本文档中空格替换
  17. 小程序 多线程Worker(类似h5的webWorker)
  18. MATLAB系统辨识工具箱-System Identification Toolbox
  19. 物质是世界,能量是本质
  20. 将结构体转换为二进制

热门文章

  1. 计算机应用文摘版面费,数值计算与计算机应用发表论文期刊级别
  2. 前端程序媛浅总结的工作中能用到“软技能”
  3. 操作系统 (二): 进程与线程
  4. 纯CSS3写的10个不同的酷炫图片遮罩层效果【转】
  5. 新媒体短视频运营哪些内容
  6. 无法创建文件夹或文件问题的解决的方法
  7. 30行Python代码,抓取全网实时热点,获取最新资讯
  8. 高可用架构之高可用的应用和服务
  9. android native方法调用
  10. SpringBoot 腾讯企业邮箱