什么是分布式事务

数据库事务分为本地事务和分布式事务。本地事务局限于单一数据库,确保操作的原子性、一致性、隔离性和持久性。分布式事务则涉及多个数据库和服务,旨在保持数据一致性,面临更大的挑战。当服务化后,由于可能涉及不同数据库,分布式事务处理数据不一致性和回滚问题变得至关重要。
摘要由CSDN通过智能技术生成
什么是事务

​ 数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成[由当前业务逻辑多个不同操作构成]。事务拥有以下四个特性,习惯上被称为ACID特性:1)原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。2)一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态是指数据库中的数据应满足完整性约束。除此之外,一致性还有另外一层语义,就是事务的中间状态不能被观察到(这层语义也有说应该属于原子性)。3)隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行,如同只有这一个操作在被数据库所执行一样。4)持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。在事务结束时,此操作将不可逆转。

什么是本地事务

​ 在传统的单一项目中,事务仅限于对单一数据库资源的访问控制,架构服务化以后,事务的概念延伸到了服务中。倘若将一个单一的服务操作作为一个事务,那么整个服务操作只能涉及一个单一的数据库资源,这类基于单个服务单一数据库资源访问的事务,被称为本地事务(Local Transaction)。如用户下单接口,会涉及减库存、添加订单。
在这里插入图片描述
操作的是同一个数据库,可以事务控制,要么全部成功,要么全部失败。

什么是分布式事务

​ 分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上,且属于不同的应用,分布式事务需要保证这些操作要么全部成功,要么全部失败。

在这里插入图片描述
分布式以后,会有多个数据库,多个服务通信,如:库存服务执行成功,扣除了库存,但是订单服务数据库挂了,则添加订单不了,这样会导致数据不一致,事务也会失去了意义,不能根据其他节点来回滚数据。

在这里插入图片描述
而针对这一现象,本质上来说,分布式事务就是为了保证不同数据库的数据一致性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的蚂蚁【你若】

如果帮助到了您,一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值