上一篇主要介绍了事务提交的流程,得知在事务提交前会通过 waitTicket 来等待冲突检测的结果,本篇主要来理一下冲突检测如何通知到提交事务的线程,也就是一个条件变量。相似地,我们还是先来理一下几个...
上一个简析主要介绍了MGR的插件注册、调用流程,这篇文章会主要记录一下MGR中几个关键模块的梳理,便于后续将它们串联起来。 各种类用途 Continuation Continuation 其实是一个 ...
这段时间在准备17号技术大会的技术分享,第一次在那么大的场合进行分享,还是有点紧张的,所以做了不少准备。但是说实话,双主解决方案只要没有涉及到冲突解决的,实现就那么回事,没有什么太大的技术含量。在方案...
MySQL binlog心跳 我们部署在线上的fake slave(用于同步数据或者是采集数据供业务订阅)经常会遇到某些特殊情况下,比如网络异常导致无法收到对端fin包导致无法走正常的连接关闭流程,这...
MySQL Group replication 双写 最近在研究异地多活双写的方案,自己实现Master-Master同步,实现是可以实现,但是有很多限制。目前双写主要有以下几个问题: 主键冲突。当两...
[INNODB]ibd文件之索引页页目录(Directory slot) B+树的具体体现在于非叶子节点,用于标识范围并指向叶子节点页,也就是说,通过某个索引,我们无法获得具体的行位置,只能获得行所在...
[INNODB] ibd文件之结构组成与空间分配 ibd是一个完整的表空间文件,其中最基本的单位为页(Page),一个Page通常为16k。page有不同的种类,用于不同类型的用途。 在介绍页文件的分...
[INNODB] ibd文件之通过B+树索引和页目录查找行数据 准备工作 首先,为了说明方便,本文使用了 innoisp 来解析ibd文件来获取各个page的信息。 ibd文件为innodb的存储文件...
假设读者已经知道了InnoDB的几个事务隔离级别,本笔记仅仅针对于在repeatable read级别下的可重复读与幻读现象。 写本文的目的是一开始被可重复读和幻读的定义给弄迷糊了,在InnoDB开启...