题目整理

分布式事务

1.事务提供一种“要么什么都不做,要么做全套(All or Nothing)”机制

2.数据库本地事务ACID,   

  • A:原子性(Atomicity)
  • C:一致性(Consistency)
  • I:隔离性(Isolation)
  • D:持久性(Durability)

 

InnoDB是mysql的一个存储引擎,本地事务由资源管理器进行管理:

事务的ACID是通过InnoDB日志和锁来保证。
事务的隔离性是通过数据库锁的机制实现的,
持久性通过redo log(重做日志)来实现,
原子性和一致性通过Undo log来实现。
UndoLog的原理很简单,为了满足事务的原子性,在操作任何数据之前,首先将数据备份到一个地方(这个存储数据备份的地方称为UndoLog)。
然后进行数据的修改。如果出现了错误或者用户执行了ROLLBACK语句,系统可以利用Undo Log中的备份将数据恢复到事务开始之前的状态。
和Undo Log相反,RedoLog记录的是新数据的备份。在事务提交前,只要将RedoLog持久化即可,不需要将数据持久化。
当系统崩溃时,虽然数据没有持久化,但是RedoLog已经持久化。系统可以根据RedoLog的内容,将所有数据恢复到最新的状态。
 

什么是分布式事务

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
 

链接:https://juejin.im/post/5b5a0bf9f265da0f6523913b
来源:掘金

转载于:https://www.cnblogs.com/alter888/p/10469945.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值