分布式金融架构课
任杰
eBay支付账务系统负责人,前蚂蚁金服架构师
立即订阅
1637 人已学习
课程目录
已完结 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 如何成为金融级人才?
免费
金融业务与系统 (6讲)
01 | 业务初探:扫了二维码之后发生了什么?
02 | 原理解读:如何理解第三方支付的业务逻辑和系统组件?
03 | 产品大观:不同金融业务都有哪些技术实现要点?
04 | 领域驱动设计(上):如何设计金融软件顶层架构?
05 | 领域驱动设计(下):如何设计统一的金融业务模型?
答疑集锦(一) | 思考题解析与外汇架构知识拓展
系统正确性保障 (7讲)
06 | 计算输入的正确性:怎么选择正确时间的数据?
07 | 计算过程的正确性:如何设计正确的数据处理架构?
08 | 计算结果的正确性:怎么保证计算结果是正确的?
09 | 数据传输的质量:金融业务对数据传输有什么要求?
10 | 数据存储的合理性:金融业务可以不用关系型数据库吗?
11 | 系统优化:如何让金融系统运行得更快?
答疑集锦(二) | 思考题解析与账务系统优化
分布式正确性及高可用 (11讲)
12 | 正确性分级(上):单机无备份有哪几种不同的一致性?
13 | 正确性分级(中):多机无容灾有哪几种不同的一致性实现?
14 | 正确性分级(下):多机有容灾有哪几种不同的一致性?
15 | 分布式正确性的存在性(上):什么情况下不存在分布式共识算法?
16 | 分布式一致性(下):怎么理解最简单的分布式一致性算法?
17 | 正确性案例(上):如何实现分布式的事件溯源架构?
18 | 正确性案例(中):常见分布式数据方案的设计原理是什么?
19 | 正确性案例(下):如何在运行时进行数据系统的动态分库?
20 | 容灾(上)如何实现正确的跨机房实时容灾?
21 | 容灾(下):如何通过混沌工程提高系统稳定性?
答疑集锦(三) | 思考题解析与数据库底层实现
春节策划 (3讲)
春节策划第1期 | 分布式金融系统知识,你掌握了多少?
春节策划第2期 | 读书如抽丝,为你推荐一些我读过的好书
春节策划第3期 | 如何运用架构知识解读春运买票和手游案例?
结束语 (2讲)
结束语 | 金融之道,与你同行,虽远尤欣
结课测试|这些金融架构的问题,你都掌握了么?
分布式金融架构课
15
15
1.0x
00:00/00:00
登录|注册

答疑集锦(三) | 思考题解析与数据库底层实现

任杰 2021-02-19
你好,我是任杰。
到今天为止,我们最后一个模块,分布式正确性及高可用的内容就结束了。恒者行远,思者常新。积极思考是学习精进的重要一环,所以这里我要特别表扬积极留言、主动学习的同学,相信你一定会更有收获。
今天我为你准备了这篇加餐,把第三模块的思考题做一个系统梳理。我还是建议你先看完前面每一讲的内容,自己做了思考之后再看我这份参考答案。

思考题答案

Q:快照隔离虽然比可串行化的级别要低一些,我们也是可以稍作调整就达到可串行化的能力,这个做法叫作串行化快照隔离(SSI,Serializable Snapshot Isolation)。
SSI 主要需要检查的是读写和写读冲突,像下面这幅图展示的一样。那你知道怎么才能正确地找到这些冲突吗?
A:数据库需要记录下来你都读了哪些数据。这样在其他事务写的时候,就能判断是否会对你的读造成了影响。在这里我们要分两种情况考虑。
第一种情况是上图左边的情况。这时候数据库需要知道 T1 的写入操作会影响哪些还没有结束的事务。数据库需要保留读的信息。
第二种情况是上图右边的情况。这时候数据库需要记录 T1 的读操作忽略了哪些相关的、还没有结束的事务。这时候如果 T1 还有任何写的操作,那么就需要考虑将 T1 回滚。需要你注意的是,如果 T1 一直只是读取数据,没有任何写的操作,那么 T1 是不需要回滚的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《分布式金融架构课》,如需阅读全部文章,
请订阅文章所属专栏
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部