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

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

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

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

分享给朋友:

相关文章

短网址程序在多服务器组负载均衡系统中遇到的问题

短网址程序在多服务器组负载均衡系统中遇到的问题

由于短网址业务量的逐渐增大,原有的服务器系统负载已经接近极限。为了更好的满足用户的需求,FT12短网址有新增了两台服务器,和原有的一台服务器组成负载均衡系统。前段任何一条短网址的访问,都会先经过负载均衡服务器,然后再随机转发给后台的任意一台...

FT12短网址:从零开始搭建超大型机票交易平台

FT12短网址:从零开始搭建超大型机票交易平台

FT12短网址资讯:从无到有构建一个大型交易平台对工程师来说是很有应战的事情。在构建过程中会碰见各种技能或许非技能的问题,作为一个工程师又该怎么处理这些问题,这是所有工程师都需求思考的问题。知名旅行网站担任交易平台技能的小雄哥总结了自己的亲...

苦逼SEO如何实现自身价值的提升?

苦逼SEO如何实现自身价值的提升?

昨天收到一个读者的留言,说目前SEO发展越来越难做,SEOer越来越难生存,于是笔者就与这位朋友聊了起来,了解到他目前在一家企业做短网址,发展不是很好,每天累死累活,老板却认为没好好做事,多少苦逼SEO心里是哑巴吃黄莲的感觉?之前咨询这样的...

月薪5万的人都经历过什么?

为了方便起见,人们习惯用数字概括不同的生活状态,比如:《月薪5千穿搭指南》、《月薪2万餐厅指南》。如果你生活在北上广这些竞争压力较大的城市,会发现这类流行的指南所覆盖的人群,大多对自己的薪资并不满意。很多年轻人在新世相后台焦虑地留言,描述自...

又有人要被抓了!新一轮金融整顿开始

又有人要被抓了!新一轮金融整顿开始原上草有人侥幸地认为,金融反腐和金融整顿清理,搞了这么久,抓了这么多官员,查了这么多企业家,应该快结束了吧?如果真这样认为,事情就太简单了。草哥获得的信息是,事情远没有这么快结束,接下来,更大的金融整顿风暴...

如何正确的“丧”,成为成功的 Loser

如何正确的“丧”,成为成功的 Loser

上帝为你关上了一扇门,然后就去洗洗睡了。上帝为你关上一扇门的时候,还会顺手帮你把窗户也关上。上帝为你关上一道防盗门,还顺手给你上了一把钛合金锁。丧出新高度Hello everyone,今晚的主题是「再见,丧的要命的一周」。不管你是一周上 6...

发表评论

访客

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