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

在线分布式数据库原理与实践

难度中级
时长 1小时53分
学习人数
综合评分9.60
48人评价 查看评价
9.5 内容实用
9.6 简洁易懂
9.7 逻辑清晰
看第一节就收获很多,讲得太透彻了,大赞
讲的非常好,对ACID有了一定的认识。
貌似跟我想学的不一样
没有声音,没有声音
沈老师的声音的确很性感。。。我是为了声音来的,听着舒服。
写写无锁并行的前提是写能侦测到自己写的异常,比如cpu提供的CAS指令。
原始账户:bob=100, smith=0。四个写操作:t1(bob=0,smith=100),t2(smith=1,bob=99),假设smith只转bob 99,不转100.如果不锁,即便用版本+事务开始的时间戳,这四个操作对两个线程来说,因为线程可能在执行的中间被操作系统的线程调度暂停掉,所以次序是不可预知的
,有可能:t1(bob=0),t2(smith=1),t2(bob=99),t1(smith=100);根据你说的,t1回滚,bob=100,smith=0;提示bob转账不成功,可是这个结果还是与t2的结果冲突,t2的结果为(smith=1, bob=99),银行要找你麻烦了。

最新回答 / woodandcandy
虽然是锁表,但是能读到视点1之前的数据。

已采纳回答 / 少大大
如果一个事务操作内既有读锁也有写锁的话,读锁升级为写锁,这样的话避免读锁的同时其他的锁进来,导致死锁

已采纳回答 / 少大大
两个1.直接写入内存的话:优点:IOPS高 缺点:可能丢失数据2. GroupCommit:优点:保证系统的持久性和吞吐量,缺点是请求延迟高
概念的讲解还是很不错的,没有废话很赞。
老师告诉你能学到什么?
本系列以分布式数据库原理与实践为主线,介绍组成分布式数据库的几个关键的部分:1) 事务与分布式事务.2) 关系代数与优化 3) 分布式KV系统与NoSQL 4) 数据一致性专题 5) 淘宝DRDS/TDDL实践经验 等多方面原理与实践专题,欢迎收藏

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消