网易的MySQL数据库分支InnoSQL
-
InnoSQL是杭研开发维护的MySQL分支,目前基于MySQL 5.5。InnoSQL的主要目标是提供更好的性能以及高可用性,同时便于DBA的运维以及监控管理。其完全兼容于原版MySQL数据库,所有添加的功能 都是动态的。若不开启这些功能,与原版MySQL数据库的工作方式完全相同。
主要特性包括:InnoDB Flash Cache,MySQL Profiler,Virtual Sync Replication with group commit,Share Memory for InnoDB。
keepsync和trysync是网易MySQL分支版本InnoSQL的两个参数,非常重要的两个参数。从某种程度上说,他们决定了MySQL主从复制实例是采用异步复制(async)还是半同步复制(semi-sync)。
在MySQL中有个非常著名的semi-sync插件(plugin),或者叫半同步插件。如果将主从复制作为一个系统, 处于半同步下的主从复制系统,即使主库MySQL宕机且无法修复,只要从库MySQL正常, 用户向该系统发送的已经返回commit的请求数据仍然不会丢失,满足事务ACID中的D(Durability)。这是在MySQL传统的异步复制体系下迈出的非常具有里程碑意义的一步,其实在这一点上,InnoSQL一直处于领先的位置。
项目地址: https://github.com/NetEase/InnoSQL