MySQL Group Replication源码简析(3)

作者:sryan 更新时间:2018-11-09 16:14 分类:数据库

上一篇主要介绍了事务提交的流程,得知在事务提交前会通过 waitTicket 来等待冲突检测的结果,本篇主要来理一下冲突检测如何通知到提交事务的线程,也就是一个条件变量。相似地,我们还是先来理一下几个...

点击数:2228 回复数:0

MySQL Group Replication源码简析(2)

作者:sryan 更新时间:2018-11-08 18:03 分类:数据库

上一个简析主要介绍了MGR的插件注册、调用流程,这篇文章会主要记录一下MGR中几个关键模块的梳理,便于后续将它们串联起来。 各种类用途 Continuation Continuation 其实是一个 ...

点击数:2248 回复数:0

MySQL Group Replication源码简析(1)

作者:sryan 更新时间:2018-11-08 14:51 分类:数据库

这段时间在准备17号技术大会的技术分享,第一次在那么大的场合进行分享,还是有点紧张的,所以做了不少准备。但是说实话,双主解决方案只要没有涉及到冲突解决的,实现就那么回事,没有什么太大的技术含量。在方案...

点击数:2037 回复数:0

双主复制的数据补偿

作者:sryan 更新时间:2018-09-04 12:30 分类:数据库

双主复制的数据补偿 双主复制,难点在于数据一致性的保证,这个在复制层面非常难实现,只有在某些特定的场景下才有折中的解决办法。 我们的双主复制方案的实际开发中,数据接入层对底层双向复制屏蔽了发生数据不一...

点击数:955 回复数:0

MySQL binlog心跳

作者:sryan 更新时间:2018-08-06 14:44 分类:数据库

MySQL binlog心跳 我们部署在线上的fake slave(用于同步数据或者是采集数据供业务订阅)经常会遇到某些特殊情况下,比如网络异常导致无法收到对端fin包导致无法走正常的连接关闭流程,这...

点击数:1864 回复数:0

MySQL Group replication

作者:sryan 更新时间:2018-08-01 16:25 分类:数据库

MySQL Group replication 双写 最近在研究异地多活双写的方案,自己实现Master-Master同步,实现是可以实现,但是有很多限制。目前双写主要有以下几个问题: 主键冲突。当两...

点击数:1494 回复数:0

[INNODB]ibd文件之索引页页目录(Directory slot)

作者:sryan 更新时间:2018-05-11 10:28 分类:数据库

[INNODB]ibd文件之索引页页目录(Directory slot) B+树的具体体现在于非叶子节点,用于标识范围并指向叶子节点页,也就是说,通过某个索引,我们无法获得具体的行位置,只能获得行所在...

点击数:920 回复数:0

[INNODB] ibd文件之结构组成与空间分配

作者:sryan 更新时间:2018-05-10 16:49 分类:数据库

[INNODB] ibd文件之结构组成与空间分配 ibd是一个完整的表空间文件,其中最基本的单位为页(Page),一个Page通常为16k。page有不同的种类,用于不同类型的用途。 在介绍页文件的分...

点击数:1543 回复数:0

[INNODB] ibd文件之通过B+树索引和页目录查找行数据

作者:sryan 更新时间:2018-05-10 14:43 分类:数据库

[INNODB] ibd文件之通过B+树索引和页目录查找行数据 准备工作 首先,为了说明方便,本文使用了 innoisp 来解析ibd文件来获取各个page的信息。 ibd文件为innodb的存储文件...

点击数:1236 回复数:0

InnoDB repeatable read隔离级别下的可重复读与幻读

作者:sryan 更新时间:2017-09-20 18:15 分类:数据库

假设读者已经知道了InnoDB的几个事务隔离级别,本笔记仅仅针对于在repeatable read级别下的可重复读与幻读现象。 写本文的目的是一开始被可重复读和幻读的定义给弄迷糊了,在InnoDB开启...

点击数:1174 回复数:0