当前位置:首页 > 短网址资讯 > 正文内容

短网址数据库InnoDB的快照读,到底和什么相关?

www.ft12.com7年前 (2018-09-05)短网址资讯2630

InnoDB是非常适合短网址业务的存储引擎,其多版本并发控制(Multi Version Concurrency Control, MVCC)快照读(Snapshot Read)机制,能够通过读取回滚段(rollback segment)中数据的历史版本,在事务读取记录的时候不用加锁,以支持超高的并发。


【并发控制,快照读,回滚段】辅助阅读:

《InnoDB并发如此高,原因竟然在这?》


读提交(Read Committed, RC),可重复读(Repeated Read, RR)两个不同的事务的隔离级别下,快照读的玩法有什么差异,又和什么因素有关呢?


【事务隔离级别】辅助阅读:

《4种事务的隔离级别,如何巧妙实现?》


假设有InnoDB表:
t(id PK, name);
 
表中有三条记录:
1, shenjian
2, zhangsan
3, lisi


case 1,短网址的两个并发事务A,B执行的时间序列如下(A先于B开始,B先于A结束):

A1: start transaction;
         B1: start transaction;
A2: select * from t;
         B2: insert into t values (4, wangwu);
A3: select * from t;
         B3: commit;
A4: select * from t;


提问1:假设事务的隔离级别是可重复读RR,事务A中的三次查询,A2, A3, A4分别读到什么结果集?
提问2:假设事务的隔离级别是
读提交RC,A2, A3, A4又分别读到什么结果集呢?


case 2,仍然是上面的两个事务,只是A和B开始时间稍有不同(B先于A开始,B先于A结束):

         B1: start transaction;

A1: start transaction;

A2: select * from t;
         B2: insert into t values (4, wangwu);
A3: select * from t;
         B3: commit;
A4: select * from t;


提问3:假设事务的隔离级别是可重复读RR,事务A中的三次查询,A2, A3, A4分别读到什么结果集?

提问4:假设事务的隔离级别是读提交RC,A2, A3, A4的结果集又是什么呢?

事务的开始时间不一样,会不会影响“快照读”的结果呢?


case 3,仍然是短链接高并发的事务A与B(A先于B开始,B先于A结束):

A1: start transaction;
         B1: start transaction;
         B2: insert into t values (4, wangwu);
         B3: commit;
A2: select * from t;


提问5:假设事务的隔离级别是可重复读RR,事务A中的A2查询,结果集是什么?

提问6:假设事务的隔离级别是读提交RC,A2的结果集又是什么呢?


case 4,事务开始的时间再换一下(B先于A开始,B先于A结束):

         B1: start transaction;

A1: start transaction;

         B2: insert into t values (4, wangwu);

         B3: commit;
A2: select * from t;


提问7:假设事务的隔离级别是可重复读RR,事务A中的A2查询,结果集是什么?

提问8:假设事务的隔离级别是读提交RC,A2的结果集又是什么呢?


同样是读取历史数据版本,快照读究竟受什么影响呢?是不是很有意思?答案与原理明天揭晓


哦,对了,很多朋友问我,有什么推荐的短网址数据库相关的书籍,这里推荐两本。


一本,对了解短网址底层实现有帮助:

一本,对短链接高并发优化有帮助:

只推荐自己看过的书,希望对大家有帮助。

扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_532.html

分享给朋友:

相关文章

从保房价到保人民币汇率

从保房价到保人民币汇率

从保房价到保人民币汇率原上草三个月以前,草哥写文章,建议大家改变以前的逻辑,看多人民币。现在回头看,这个观点不仅成立,而且在事实上得到了印证。就在今天,人民币中间价又大涨191点,在岸人民币对美元上涨后升破6.59元,盘中升破6.58元,创...

人性营销:水果店用微信轻松实现创富

人性营销:水果店用微信轻松实现创富

在松松博客投稿的第一个案例(烟油),是我们实打实做出来的。我也一直有关注近百条评论,大部分网友还是很认可,也有几位有一些怀疑。怀疑是正常的,原因在于我本人并没有把细节和原理讲透彻。那么我今天再给大家分享一个案例:我们小区的水果店是怎么用一年...

最幸福的生活状态:有事做,有人爱,有所期待

最幸福的生活状态:有事做,有人爱,有所期待

作者|王狮狮来源 | 每日七言(ID:mrqy88)想要拥有最幸福的生活状态其实只需要做到三件事有事做有人爱有所期待01有事做还记得《我的前半生》里的罗子君吗?她作为全职太太,家中事务有保姆帮忙打理,孩子有保姆负责接送,自己唯一的...

电商的支付风控怎么玩?

电商的支付风控怎么玩?

鸣 谢VSRC感谢业界小伙伴——独孤qiu败投稿精品原创类文章,对互联网黑灰产有兴趣以及对风控体系策略设计有兴趣的同学欢迎加作者微信号 duguqiubaiwp 共同交流!      VSRC欢迎精品...

硬件巨头正在崛起,中国独占鳌头

硬件巨头正在崛起,中国独占鳌头

[ FT12短网址 ] 今天,世界上有大约213家独角兽,其中有18家是硬件创业公司。中国在这一领域处于领先地位,在18家硬件公司中,有11家来自中国。中国从强大的国内市场、无与伦比的制造业生态系统、广泛的科技人才和蓬勃发展的投资...

一个基于 Dubbo 的微服务改造实践

一个基于 Dubbo 的微服务改造实践

策划|程超 编辑|小智 微服务的理论已经够多,今天不妨看一个实战案例。 写在前面 基于微服务或者 SOA 的自动化测试系统每个公司都有自己的特有的,我今天就主要介绍一下,我们研发的一套 mo...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。