BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

腾讯云:Mysql外网迁移3大阶段

| 作者 腾讯云 关注 0 他的粉丝 发布于 2016年6月17日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

2016年7月5日,诚邀您参与腾讯·“云+未来”生态峰会,与腾讯董事会主席马化腾先生及各界顶级企业家,国际专家共探产业与互联网融合发展之道,推动互联网+生态圈发展。 详情>>

 

摘要:存有大量数据的数据库热迁移是一个庞大的工程,导出冷备时使用断点续传,同时建立主从同步binlog,可有效避免避免写量过大无法同步的情况,有助于提高数据迁移成功率。

作者简介:杨睿,腾讯云高级产品经理,腾讯云云数据库产品负责人,从事后台开发工作3年,产品工作5年,对云产品的策划和运营积累了丰富的经验。

总所周知,数据库迁移一直是一个苦活、脏活、累活。尤其是在外网进行迁移,网络抖动,外网的安全风险,以及速度慢都是迁移中的难点与痛点。若还想做在线迁移,不停服,却要能做到平滑迁移,往往是难上加难,稍不注意就变成了重大事故。

腾讯云数据CDB 在迁移Mysql中,积累了多年经验,可以分如下三大阶段:

第一阶段:积水成渊,蛟龙生焉

这种方式最简单,也最灵活。用户只需要输入用户名和密码,然后是外网数据库所在的端口和ip地址,通过mysql协议,可以导出数据库内容,做线上迁移。整个过程,用户仅仅需要在最初的时候输入,同时观察进度,等待监控告诉,同步几乎在秒级之间的差距,再切换ip即可。主要思想就是慢慢积少成多,但是问题也很明显:

  1. 对于大量数据迁移,无能为力;
  2. 速度较慢;
  3. 在网络故障时,无法自动恢复。

因此该方案仅仅适用于小数据场景。但便捷性和对环境的不挑剔,是一大特点。

第二阶段:弱水三千,只取一瓢

为了解决方案一的速度慢的问题,我们其实可以先把冷备后的文件导入到云数据库。所谓弱水三千 只取一瓢,这一瓢就是这个冷备份,再通过设置冷备的位置和 binlog的位置来追数据。同时可以同时同步binlog 和冷备文件,然后在到目的端执行,这样可以加快同步速度;但是这个方案依然无法处理一些网络故障导致的中断,尤其是在较大数据量时,其实也有优化空间。

第三阶段:抽刀断水,川流不息

抽刀断水水更流,若能做到断点续传,则可以任由外部环境变化,我自岿然不动。腾讯云数据库迁移工具中,有一系列工具可以安装在客户端,当然迁移是允许在客户端安装工具。该工具可以导出冷备文件,类似Xtraback的原理,同时也提供压缩功能,再自动传输到指定的迁移目的地。若中途出现故障,可以自己控制断点续传,再结合binlog,便可以真做到任由外部环境怎么变化,始终保持最优秀的传输和数据导入导出。整个过程无需职守。

在实践过程中,为了保障迁移任务的调度和整个迁移服务器的高可用性,腾讯云CDB搭建了OSS集群保障数据迁移的正常进行。

总结

存有大量数据的数据库热迁移是一个庞大的工程,导出冷备时使用断点续传,同时建立主从同步binlog,可有效避免避免写量过大无法同步的情况,有助于提高数据迁移成功率。

2016年7月5日,诚邀您参与腾讯·“云+未来”生态峰会,与腾讯董事会主席马化腾先生及各界顶级企业家,国际专家一同,共探产业与互联网融合发展之道,推动互联网+生态圈发展。欢迎点击了解。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

生命不止,学而不倦 by 电商时代fs dsd

文中所分享的知识真是太好了,腾讯云服务器提供了各种开发者熟悉的应用部署环境。不愧为拥有两个社交群体的牛逼大数据,支持!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT