XTube成立于中国互联网崛起的核心时期,公司业务以海外直播及视频站点为主,致力于将中国互联网成功的模板“作业”复制到海外更广阔的平台。XTube在制定方案前,联系到了AWS高级合作伙伴——杭州众拓网通科技有限公司,双方在项目启动前,对可能存在的风险与流程,做出了进一步的深入探讨。

XTube公司的业务有多台应用服务器和多种应用数据库承载,而本次迁移的主要目标是对数据库的迁移,因为客户公司的应用有多种后台数据库,主要有Redis/Mysql/Mongodb,不同的数据库支撑了不同的数据类型,考虑到Redis没有落盘数据,本次项目重点考虑了Mysql和Mongodb的迁移。进行项目数据库迁移方案选型时,团队考虑了多种迁移工具,包括数据库原生的实时同步/离线备份/导入和导出工具,由于AWS提供了支持多种数据库迁移的服务Database Migration Service(DMS),主要对DMS服务进行了大量的测试,最终还是选择了AWS的DMS产品来进行整体实施迁移。AWSDatabase Migration Service 产品是一种可帮助您快速并安全地将数据库迁移至 AWS。源数据库在迁移过程中可继续正常运行,从而最大程度地减少依赖该数据库的应用程序的停机时间。

打开网易新闻 查看更多图片

在本次迁移服务中,涉及到多种数据库,而客户方希望在迁移的时候能做到以下几点的保障:

1、多平台数据库都迁移到AWS的Database上;

2、希望在迁移的同时也能保障开发人员/测试人员利用数据进行应用优化工作;

3、为了更好的维护业务,希望将老平台的多种数据库尽可能的做整合操作;

针对客户的想法,我们借助 AWS 的产品服务,来给客户提供解决方案:使用 AWS Schema Conversion Tool 转换源数据库的架构和代码,使其与目标数据库匹配;然后,使用 AWS Database Migration Service 将数据从源数据库迁移至目标数据库。所有必要的数据类型转换将由 AWS Database Migration Service 在迁移过程中自动完成。

图1 异构数据迁移示例

第二个需求:AWS Database Migration Service 可以用于将数据迁移到云以及将数据从云中迁移出来。有两种常见的应用场景:第一种是在 AWS 上部署开发、测试或暂存系统,从而利用云的可扩展性和快速预置功能。如此一来,开发和测试人员可以使用真实生产数据的副本,还可以将更新复制回本地生产系统。第二种应用场景为开发系统位于本地(通常位于个人笔记本电脑中)时,将 AWS 云生产数据库的当前副本一次性或持续迁移到这些本地系统。这样可以避免打断现有的开发运营流程,同时确保生产系统处于最新状态。

打开网易新闻 查看更多图片

图2 开发与测试协助

第三个需求解决方案:将多个源数据库整合至一个目标数据库。同构和异构数据库迁移都可以实现此目标,可以对所有受支持的数据库引擎使用此功能。通过在客户本地以及其他云上的的源数据库通过AWS DatabaseMigration Service统一迁移到Amazon Aurora Database上。

图3 数据库整合服务

最终,通过使用AWS Database Migration Service,完美的将客户的老平台服务迁移到了AWS上,并协助客户进行数据一致性等测试验收工作。