mysql集群数据一致性校验
来源:互联网 发布:java 协议解析 编辑:程序博客网 时间:2024/06/09 16:45
什么是数据一致性?这里仅仅针对mysql,或是关系型数据库,一致性主要包括两方面,表结构一致和数据内容一致。一般情况下,表结构变更相对是少的,而且不一致的概率也很小,即使检查,也相对容易;而导致数据内容不一致的情况很多,所以我们更关心的数据内容的一致性。
如何实现数据一致性校验?一种思路就是逐行逐字段比较主库和备库的表;另外一种思路是,不逐行逐字段比较,取而代之的是分别对主库和备库计算校验和,通过判断校验和是否相同,确定主备库数据是否一致。
mysql> select count(*) from 5000shot;
mysql> select sum(samplenum) from 5000shot;
计算条数
计算信号数之和
两种思路都很简单,第一种思路正确性高,但性能比较差,因为返回大量的结果集导致大量的网络IO和磁盘IO;而第二种思路则恰好相反,性能会更好,少了IO,多消耗了一些CPU资源(计算校验和),正确性不如第一种思路。但是考虑到生产环境下,数据时时刻刻都是动态变化的,就没那么简单了。通过对表加锁,可以保证我们在校验时,数据是静态的,待我们顺利完成校验后,再解锁。mysql自带命令CHECKSUM TABLE,就是通过锁表方式来保证数据是静态的。这种方式对于小表,访问量小的表还好,若表非常大,校验需要很长时间,生产环境是不能容忍的。既然要保持静态就需要锁表,可不可以缩短锁表时间呢?pt-table-checksum通过将表分片,每次只对一部分行上锁,这样在校验过程中,一时刻只有部分行被锁住,减少对业务的影响。
0 0
- mysql集群数据一致性校验
- pt-table-checksum校验mysql数据一致性
- MySQL主从复制数据一致性校验shell脚本
- pt-table-checksum- 主从MySQL数据一致性校验
- 腾讯游戏MySQL数据一致性校验及在线修复实践
- centos7.2 percona-toolkit进行mysql主从数据一致性校验+修复
- 懒惰式数据一致性校验
- MySQL主从复制报错处理和数据一致性校验及修复方法
- MySQL主从复制数据一致性校验和修复方法及自动化实现
- MySQL数据一致性检查工具
- MySQL数据一致性问题
- Maatkit工具,Mysql自动检测数据一致性
- MySQL背后的数据一致性分析
- 如何恢复MySQL主从数据一致性
- redis与Mysql的数据一致性
- 【干货】分享总结:MySQL数据一致性
- 数据一致性
- 数据一致性
- ASSIGN COMPONENT <comp> OF STRUCTURE <s> TO <FS>
- 使用hibernate tools插件生成POJO
- 深入理解SELinux SEAndroid(最后部分)
- [总结]怎么让adb识别修改了VID和PID的手机(移动设备)
- ThinkPHP3.2.3使用分页
- mysql集群数据一致性校验
- linux 常用命令大全
- 嵌入式开发-迅为i.MX6Q开发板移植移动4G模块分享
- 欢迎使用CSDN-markdown编辑器
- Linux菜鸟学习笔记(一)--Linux系统结构
- SVN账号更换问题
- synchronized二三事3
- 塔防大战unity5.5版本系列(part14)
- Unity3D说明文档翻译-Using Components