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

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

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

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短网址的小编分享一下微信公众号运营的一些小技巧。微信公众号的地址非常长,所以需要将网址缩短发送到一切讨论组或者朋友圈,这样会更好看一些,也避免由于网址过长导致的分行截断而不能点击打开的窘境。方法一:利用腾讯的短地址服务优先推荐腾讯的...

思路清奇:通过 JavaScript 获取移动设备的型号

我们一般在浏览器里识别用户的访问设备都是通过 User Agent 这个字段来获取的,但是通过它我们只能获取一个大概的信息,比如你用的是 Mac 还是 Windows,用的是 iPhone 还是 iPad。如果我想知道你...

奶奶的“漫漫”

奶奶的“漫漫”

昨天下了一天雨,以前习惯跑的路有泥洼,换到马路上去跑了五公里,看见一路的农家乐,招牌菜居然是烤全羊。跑步回来,我奶奶就向组织报告:“后院枣树上还有枣,你妈之前打算给你打了放冰箱的,晓得你要漫漫,我让她给你留了点儿。”她懂我喜欢的浪漫。我回家...

WebSocket 的鉴权授权方案

WebSocket 的鉴权授权方案

引子WebSocket 是个好东西,为我们提供了便捷且实时的通讯能力。然而,对于 WebSocket 客户端的鉴权,协议的 RFC 是这么说的:This protocol doesn’t prescribe a...

小米发布智能音箱,欲打造成下一个小米手机?

亚马逊的echo智能音箱,天猫精灵音箱等等相继发布。巨头们争相进入智能音箱领域,小米发布智能音箱也在大家预料中。2017年7月26日,小米探究实验室发布售价299元的小米AI音箱“小爱同学“,8月7日-8月11日小米电视在全国13个城市举办...

连内衣店、按摩馆都被大量直播 画面让人心惊

  近日,网络上出现多地学校教室、宿舍的直播画面,画面中人物的举动都较为清晰,且包含声音,一些当事人对直播并不知情。不仅是学校,一些直播的镜头还对准了游泳池、盲人按摩馆、酒店大堂、内衣店...  直播随意看:学校、游泳池、盲人按摩馆、酒店大...

发表评论

访客

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