利用MySQL Binlog进行不停机数据迁移方法技术

技术编号:22722381 阅读:28 留言:0更新日期:2019-12-04 05:27
本发明专利技术公开了利用MySQL Binlog进行不停机数据迁移方法,包括以下步骤,在待迁移源数据库上配置DTS,DTS会将待迁移源数据库上所有的数据都迁移至中间数据库,在将待迁移源数据库上所有的数据进行迁移的过程中产生的增量数据也会通过DTS迁移至中间数据库里。本发明专利技术中,通过DTS提供增量数据迁移功能,会将不停机期间业务产生的数据源源不断的写入中间数据库,而中间数据库又将源源不断的产生Binlog并通过Canal和消息队列被我们自研的数据转换迁移程序所消费,最终存储落地到目标数据库中去,在整个过程中做到了不停机,即业务不暂停,保证了业务的实时可用性。

Using MySQL binlog for data migration without downtime

The invention discloses a method of data migration without stopping using MySQL binlog, which includes the following steps: configure DTS on the source database to be migrated, DTS will migrate all the data on the source database to be migrated to the intermediate database, and the incremental data generated during the migration of all the data on the source database to be migrated will also be migrated to the intermediate database through DTS. In the invention, the incremental data migration function is provided by DTS, which will continuously write the data generated by business during the non-stop period to the intermediate database, and the intermediate database will continuously generate binlog, which will be consumed by our self-developed data transformation migration program through canal and message queue, and finally stored and landed in the target database. In the whole process, no Downtime, that is, the business is not suspended, ensuring the real-time availability of the business.

【技术实现步骤摘要】
利用MySQLBinlog进行不停机数据迁移方法
本专利技术涉及数据迁移
,尤其涉及利用MySQLBinlog进行不停机数据迁移方法。
技术介绍
在业务发展的过程中,我们经常会需要对于现有业务进行规整,数据模型进行重构和修改,如果数据模型一旦发生变化,对应的数据库表结构也会发生变化,比如字段类型、数据维度等都会发生变化。这个时候就需要进行数据迁移。传统的数据迁移建立在停服的基础上,即应用停止对外服务,关闭读写流量。但是停服会降低应用的可用时间和可用性,对于一些关键应用来说是不被允许的。因此我们需要一种不停服就可以迁移的方式。
技术实现思路
本专利技术的目的是为了解决现有技术中存在的缺点,而提出的利用MySQLBinlog进行不停机数据迁移方法。为了实现上述目的,本专利技术采用了如下技术方案:利用MySQLBinlog进行不停机数据迁移方法,包括以下步骤:SSO1:在待迁移源数据库上配置DTS,DTS会将待迁移源数据库上所有的数据都迁移至中间数据库,在将待迁移源数据库上所有的数据进行迁移的过程中产生的增量本文档来自技高网...

【技术保护点】
1.利用MySQL Binlog进行不停机数据迁移方法,其特征在于,包括以下步骤:/nSSO1:在待迁移源数据库上配置DTS,DTS会将待迁移源数据库上所有的数据都迁移至中间数据库,在将待迁移源数据库上所有的数据进行迁移的过程中产生的增量数据也会通过DTS迁移至中间数据库里;/nSSO2:部署Canal中间件来监听中间数据库产生的Binlog,并存放到MQ;/nSSO3:部署自研的数据转换迁移程序,自研的数据转换迁移程序一方面将订阅消息队列里的Binlog,当消息队列中有Binlog时可以将它进行消费;另一方面,在消费Binlog的时候,对于Binlog进行解析,并按照业务需要,对于数据格式和...

【技术特征摘要】
1.利用MySQLBinlog进行不停机数据迁移方法,其特征在于,包括以下步骤:
SSO1:在待迁移源数据库上配置DTS,DTS会将待迁移源数据库上所有的数据都迁移至中间数据库,在将待迁移源数据库上所有的数据进行迁移的过程中产生的增量数据也会通过DTS迁移至中间数据库里;
SSO2:部署Canal中间件来监听中间数据库产生的Binlog,并存放到MQ;
SSO3:部署自研的数据转换迁移程序,自研的数据转换迁移程序一方面将订阅消息队列里的Binlog,当消息队列中有Binlog时可以将它进行消费;另一方面,在消费Binlog的时候,对于Binlog进行解析,并按照业务需要,对于数据格式和维度进行一定的转换,形成最终需要的数据结构,并最后存储至目标数据库中。


2.根据权利要求1所述的利用MySQLBinlog进行不停机数据迁移方法,其特征在于,所述中间数据库在初始的时候并没有任何数据,随着DTS将数据源源不断的迁入中间数据库,中间数据库将这些数据写入对应的数据库表中,数据库对于数据写入将产生Binlog,Binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到Binlog里,因此随着DTS将数据源源不断的迁入,也将伴随着源源不断产生Binlog。


3.根据权利要求1所述的利用MySQLBinlog进行不停机数据迁移方法,其特征在于,所述SSO3中数据迁移程序在消费Binlog的时候,只有最终将数据完整正确地写入目标数据库时,才会给消息队列回复Acknowledgement,这样保证了数据的强一致性。


4.根据权利要求1所述的利用MySQLBinlog进行不停机数据迁移方法,其特征在于,所述MySQL是一种广泛应用于各大互联网公司和产品中的一个关系型数据库管理系统。


5.根据权利要求1所述的利用...

【专利技术属性】
技术研发人员:姚宇帆易锋
申请(专利权)人:政采云有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1