数据迁移后,验证数据一致性与准确性的测试方法

数据迁移后,验证数据一致性与准确性的测试方法

需求说明

1、数据从mysql8.0通过datax的方式迁移到atomdata数据库(一款OLAP类型数据库,兼容mysql)

2、mysql8.0表cyry、hjry的数据全部迁移到atomdata中,2张表有关联关系(示例:cyry、hjry可通过name关联)

迁移方法

见“datax”迁移数据的方法

  • mysql8中创建2张表,并生成要求的数据量行数
  • atomdata中创建2张与mysql8相同的表和表结构
  • 安装datax,并进行数据同步,且数据均需同步成功
  • mysql8和atomdata中分别通过select count(*) from xx验证总表行数
  • mysql8和atomdata中验证表结构和表内容均需一致

迁移后验证

相同的SQL语句,分别查询mysql和atomdata上执行,并导出查询的结果数据

验证条件

测试用例:验证SQL

select cy.cy_id,cy.cy_name,hj.hj_id,hj.hj_name from cyry as cy left join hjry as hj on cy.cy_name=hj.hj_name order by cy.cy_id ;

执行结果,在mysql和atomdata 的结果数据是否一致

测试方法:

(1)通过命令,将如上的SQL,分别在mysql和atomdata数据中执行,并将结果进行下载保存为csv的文件

【命令解读】mysql -h 数据库IP地址 -P 端口 -u 用户名 -p 库名 -e "执行的SQL" >存放路径/xxx.csv

#atomdatamysql -h 192.168.30.103 -P 3001 -u kepler -p syw_security -e "select cy.cy_id,cy.cy_name,hj.hj_id,hj.hj_name from cyry as cy left join hjry as hj on cy.cy_name=hj.hj_name order by cy.cy_id ; " >/datax/job/atomdata.csv#mysql8.0mysql -h 192.168.30.103 -P 3306 -u root -p syw_security -e "select cy.cy_id,cy.cy_name,hj.hj_id,hj.hj_name from cyry as cy left join hjry as hj on cy.cy_name=hj.hj_name order by cy.cy_id ; " >/datax/job/mysql.csv

(2)通过如下命令,查看mysql数据库和atomdata数据的数据均要一致

#安装atomdata数据库的服务器上执行cat atomdata.csv | sort | uniq -c | wc -l
cat atomdata.csv | wc -l
#安装mysql数据的服务器上执行 
cat mysql.csv | sort | uniq -c | wc -l

cat mysql.csv | wc -l

#mysql与atomdata的数据库放在同一个服务器上,并执行下面的语句
cat mysql.csv atomdata.csv | sort | uniq -c | wc -l

预期结果:

1、测试结果的数据量均要一致,说明数据在迁移的过程中没有出现丢失数据

2、根据自己的情况,编写一些SQL,同一个SQL分别在两个数据库中运行,来验证两个数据库的查询结果必须一致即可。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部