多机房数据同步(一致性读写)视频 @Qcon
解决跨数据中心的数据同步和一致性问题,实现跨机房的高可用访问(比如中国特殊网络状况,提供多个数据中心的情况下,解决数据的可用性、一致性)。
解决跨数据中心的数据同步和一致性问题,实现跨机房的高可用访问(比如中国特殊网络状况,提供多个数据中心的情况下,解决数据的可用性、一致性)。
前2天去北京参加了2010数据库技术大会, 我演讲的主题是:《MySQL分布式集群高可用设计及应用》,主要是介绍MySQL Cluster,现在把PPT共享出来。
MySQL 5.5第一个版本释出,基于MySQL5.4,性能相对于当前MySQL5.0、5.1有很大的提升,更让人可喜的是MySQL5.5内置了Google的半同步(semi-sync-replication)补丁,以此可以搭建一个相对来说比较完美的MySQL高可用方案,之前我已经在“MySQL新版(5.x)及特性”中提到过,很是让人期待!
半同步的配置很简单:
master > INSTALL PLUGIN rpl_semi_sync_master SONAME ‘libsemisync_master.so’;
slave-x > INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘libsemisync_slave.so’;
master > SET GLOBAL rpl_semi_sync_master_enabled=1;
slave-x > SET GLOBAL rpl_semi_sync_slave_enabled=1;
对于半同步需要说明的是:
1:不需要所有的slave都确认接收到复制事件
2:slave确认并不是表示执行完成
3:如果slave没有跟上同步设置将被中断继续原来的异步模式直到跟上再重新开启
注意:当前MySQL5.4, MySQL5.5都还不是GA版本,生产环境请慎重选择,升级前也请备份好数据。
MySQL 5.1.42 预计在今年(2009)12月18日发布,其中会包含最新的Innodb Plugin。新的InnoDB Plugin在除了支持Data compression和Fast index create特性之外,兼容之前的表空间,并加入了大量Google的patch,极大的提高了Innodb的性能。
MySQL 5.4 GA 预计可能在明年夏季,roadmap如下图:
MySQL 5.5 会加入Google semi-replication patch,Google原链接。
MySQL Cluster Manager 加入自动管理功能,不过应该会收费。
———————————————-
这几天去fetion看了他们的DB,服务器奢侈(可能穷惯了),性能也很强劲30k+的QPS。不过构架有些问题,以后我想应该会改;另外还去了现场帮客户解决问题。至此来北京的计划全部打乱。下次一定提前安排,组织一次MySQL实验室聚会。
geographic-replication-deep-dive(PDF)下载
其中异构复制的时候有些技巧,比如 不同的mysqld只复制一部分表,从而避免延时的出现。
主从数据库记录校验工具Mylab.RecordChecker截图
工具采用php+mysqli+extjs实现,要使用需要修改部分代码
暂时命名为:Mylab.RecordChecker v1.0 beta
等svn服务器搭建起来之后,我会继续完善代码,做成通用的工具。
下载链接:Mylab.RecordChecker
对于mysql主从数据一致性一直是大家所关注的,但是苦于没有很好的解决办法,google提供了一个非常好的补丁 OnlineDataDrift
这个补丁的原理:
针对每张表会产生一个checksum的校验sql序列,然后执行它们,并将结果插入到特定表中。
同时这些执行的sql语句会被写入到binlog,从而会在所有slave的同一个status点上执行,也将结果插入到特定表中
当这些sql执行完之后,会比较这些特定的记录,从而找出不一致的数据。
reference: http://code.google.com/p/google-mysql-tools/wiki/OnlineDataDrift
最近评论