为了账号安全,请及时绑定邮箱和手机立即绑定

关于原子性问题的两个疑问?

不明白的地方在于:老师在讲原子性的时候说原子性跟一致性是没有关系的,按照我的理解就是数据库数据的一致性并不靠原子性保证不知掉我理解的对不对?在之前的课程里面又说道 事务单元之间的组合 写写事务之间需要排队的 那么在我的理解就是不可能存在Bob在向Smith转账100块钱的时候 smith的账户还能有其它的写事务单元去更新Smith账户,向Smith的账户写入300块钱?

正在回答

1 回答

一致性指的是 事务的中间状态没有办法被别的事务读到 比如bob和smith账户余额都为0的时候  原子性指的是事务失败就回滚 成功就一起成功 他两没关系。  bob向smith转账的时候其实有两个跟smith账户有关 一个是查询smith账户的余额 第二个是写入 (余额 + 100)的数值 如果写入300钱的操作在这两个动作之间就会产生不一致性。 但是这是可能发生的 在隔离级别为read-uncommitted的时候 没有提交的时候别的事务就能读到这个中间状态

0 回复 有任何疑惑可以回复我~
#1

__xiao__

然后read-uncommitted 是不加读锁的 所以在写入(余额 + 100)之前的任意时间 他都能收到来自自己的工资 (余额 + 300). 这是我个人的想法 不一定对
2018-02-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
在线分布式数据库原理与实践
  • 参与学习       42363    人
  • 解答问题       53    个

一起学习事务与分布式事务原理与实践干货,欢迎收藏

进入课程

关于原子性问题的两个疑问?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信