当前位置:首页 > 短网址资讯

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

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

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

分享给朋友:

相关文章

看了那么多SEO教程,为何你还是搞不定排名?

看了那么多SEO教程,为何你还是搞不定排名?

前言:本文独家原创首发卢松松博客,转载请保留作者联系方式与原文出处!前些天和一个朋友在讨论互联网营销的时候偶然提到了SEO优化,朋友说去年买了一套SEO教程自学,到目前为止,差不多将近一年了,排名还是非常的不好(几乎没有排名)。我问他既然看…

域名解析实践——HTTPDNS

几乎一切需求网络连接的使用都会依赖域名体系(Domain Name System,DNS)。域名解析效劳一般作为一次网络连接的先导,将人们便于记忆的计算机名称解析成计算机合适处理的网络地址。因而DNS安稳效劳是上述网络使用正常运转的条件,地…

全球纯电动车制造商出货量排名:特斯拉仅第二

全球纯电动车制造商出货量排名:特斯拉仅第二

提到电动汽车,我们往往首先想到的是特斯拉,然而根据一份最新调查数据显示,特斯拉并非全球最大的电动汽车制造商。据JATO数据提供商最新公开的纯电动车制造商排名显示,目前雷诺-日产是全球最大的纯电动车制造商,特斯拉排在第二位,其它前十名厂商分别…

我作为程序员辣么穷的黑历史

我在十三、四岁的时候第一次真正进入编程这个领域。从十一岁开始我就一直对计算机非常感兴趣,但在十三岁之前并没有太多地涉足编程。那大约是五年前。我记得在中学玩过一个游戏:Runescape。很多时候游戏都会崩溃,并且会看到一个奇怪的包含外国文字…

AppStore算法再次升级,运营如何在ASO中破冰?

AppStore算法再次升级,运营如何在ASO中破冰?

作者:刘兴时史上最严厉的AppStore算法来了,黑色5月一点都不夸张!近段时间,笔者发现移动互联网圈里做运营推广的朋友挺抓狂的,大家都在吐槽AppStore,吐槽点集中在“最近的评论都被AppStore删除了,ASO真的没法做了”史上最严…

短网址的正确使用方式

短网址毋庸置疑是一个伟大的互联网产物,什么行业都能用的到。今天去莱茵培训,一路上都是靠着短链接和二维码指引过去的,真的是太方便了。首先,高铁票上的短链接指引着我去了上海火车站,很快,从安亭到上海火车站只花了不到15分钟,简直不可思议,安亭人…

发表评论

访客

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