天天看点

MySQL内核月报 2014.10-TokuDB· 主备复制·Read Free Replication

尽管mysql 5.6和mariadb 10.x在replication上已经做了不少优化,tokudb 7.5也做了一个"进一步"的优化:read free replication(rfr),目的是提高备库(slave)重放速度,减少主备延迟。

rfr的原理比较简单:就是避免一些"不必要"的读来减少read io。

<b>read io</b>

当在slave上执行:update/delete操作的时候,mysql进行read-modify-write操作,可能会产生read io操作,而insert的时候如果需要做"唯一性"检查,也可能会产生read io。

什么条件下,tokudb才可以read free呢?

主库配置必须binlog_format=row

主库上的操作不能违反唯一性约束(比如设置了"unique_checks=off",否则主备同步会停止),这样到tokudb备库的所有log event都默认不需要再做"unique check"

备库只读

同时满足以上3个条件,tokudb的备库认为从主库过来的insert/update/delete log event均是安全的,可以不做read,直接做write操作。

进一步的优化还在继续,希望"妈妈"(dba)再也不用担心我(read only slave)的性能了。

MySQL内核月报 2014.10-TokuDB· 主备复制·Read Free Replication

继续阅读