您的位置: 主页 > 人工智能机器人 > french letter:某企业数据库的跨国迁移

french letter:某企业数据库的跨国迁移

时间: 2019-03-05阅读:

“连数据库都上云了,还有什么不能上云?”亚马逊的CTO Werner Vogels的这句话让人印象深刻。在各种应用向云迁移的过程中,数据库的迁移应该是最复杂和最能体现厂商技术和服务功底的。

数据库迁移往往是企业上云之旅的重点和难点。为此,AWS推出了AWS Database Migration Service,并且已在中国区落地。

AWS Database Migration Service是一种Web服务,可用于将数据从本地数据库、Amazon Relational Database Service (Amazon RDS)数据库实例上的数据库或 Amazon Elastic Compute Cloud (Amazon EC2)实例上的数据库迁移到AWS服务上的数据库。这些服务可以包括Amazon RDS上的数据库或Amazon EC2实例上的数据库。用户还可以将数据库从AWS服务迁移到本地数据库,并可在异构和同构数据库引擎之间迁移数据。

AWS DMS服务支持同构迁移(例如从Oracle迁移到Oracle),以及在不同数据库平台之间的异构迁移(例如从Oracle迁移到Amazon Aurora或从Microsoft SQL Server迁移到MySQL)。另外,它还支持客户从任意受支持的源位置(包括Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle、SAP ASE和SQL Server)将数据流式传输到Amazon Redshift,以便在PB级数据仓库中对数据进行整合和轻松分析。AWS Database Migration Service 还可用于连续数据复制,且高度可用。

光环有云利用AWS DMS将某企业客户的MySQL迁移至AWS RDS Aurora。该用户的业务系统原来运行在某云新加坡区域,因故需要迁移到其他公有云。最终,客户选择将其业务系统迁移至AWS东京区域,同时选择AWS高级咨询合作伙伴——光环有云作为咨询和实施服务提供商,完成AWS基础架构的部署和数据库迁移工作。

客户运营着一套类金融系统,由10+应用系统构成,超过40臺虚拟服务器,采用MySQL 5.6数据库服务,数据量超过700GB+,日数据新增量约5GB,另有一个测试数据库。客户主要运营的业务系统对于安全性要求很高,出于业务连续考虑,预设迁移时间窗口有限,其业务系统依赖于事务处理,对延迟敏感。

光环有云利用AWS DMS将客户的MySQL迁移至AWS Aurora的具体过程如下。

第一,数据库迁移准备。

数据库信息准备工作包括生产库信息统计、生产库性能监控、日新增数据量统计、业务高峰期统计,以及生产数据库版本、参数、用户、存储过程、函数等信息记录。

在进行方案规划时,通过对客户业务场景、应用系统、数据库以及运营管理等多方面深入调研后,基于AWS数据迁移最佳实践和光环有云在数据库迁移的丰富经验,结合客户的具体需求和约束条件,提出了以MySQL复制+DMS同步和以MySQL主从复制+xtrabackup 增量还原两个方案规划。

MySQL主从复制+DMS同步方案,其主要步骤如下:搭建IPsec VPN,打通某云Singapore—AWS Tokyo;某云RDS创建物理全量备份,并将备份文件还原到一台新实例中,该实例将当做此次测试的Master库;在AWS环境中,新启一台EC2实例并安装MySQL服务,同时拉取备份文件到EC2实例中;将EC2中的备份文件还原到EC2 MySQL数据库里,当前MySQL将充当Slave服务器;在Master和Slave 之间建立主从复制;AWS Tokyo region的VPC中启动一台Aurora MySQL-5.6;在EC2 MySQL(Slave)和AWS RDS Aurora 之间配置DMS同步;等Master、Slave与AWS RDS Aurora同步完成后,校验数据完整性;导入一批测试数据到Master中,用作增量数据同步测试;校验Master、Slave与AWS RDS Aurora同步情况,并校验数据完整性。

MySQL主从复制+xtrabackup增量还原方案,其主要步骤如下:搭建IPsec VPN,打通某云Singapore—AWS Tokyo;某云RDS创建物理全量备份,并将备份文件还原到一台新实例中,该实例将当做此次测试的Master库;AWS环境中,新启一台EC2实例,安装MySQL服务,拉取备份文件到实例中;将EC2中的备份文件还原到EC2 MySQL数据库里,当前MySQL将充当Slave服务器;在Master和Slave 之间建立主从复制;在Slave中使用xtrabackup创建全备;将全备文件同步到一个AWS Tokyo region的S3存储桶A中;导入一批测试数据到Master中,用作增量数据同步测试;在Slave中在全备的基础上使用xtrabackup创建增量备份;使用AWS S3 Sync将增量数据同步到S3存储桶A中;将AWS Tokyo region 的S3存储桶A中的所有数据,还原到AWS RDS Aurora数据库中。

在迁移前,以较小数据量按照规划中的两种方案分别进行了模拟测试。测试结论显示,鉴于客户预设停机窗口有限,为保持良好的业务持续性,所以最终选择方案1作为主方案,方案2作为备用方案。在迁移实施时,两个方案同时进行。

第二,项目实施迁移。

迁移原则如下:满足迁移约束条件,方案验证可行;对迁移过程控制和识别风险并应对;业务影响最小,数据安全、完整、可用;最小可用权限,授权操作,不碰数据。

“结果很重要,过程须控制。”迁移是一件多风险、易出错的工作,协同工作的所有环节都可能出现错误,从而导致迁移的失败。光环有云对迁移过程十分重视,会同客户一起认真分析迁移的所有流程,并细化成指导迁移实施的指导性文档,作为迁移实施的过程控制文档,其中包括迁移详细计划、迁移流程、所有任务、RACI协作、任务详细文档(脚本、操作详细步骤)、任务耗时、任务异常处理等。

在使用AWS DMS进行迁移的过程中,可能会遇到如下挑战:数据库权限、目标库信息重建(用户、存储过程、视图、函数等)、DMS校验报错、字符集不一致、时区设置、DMS同步数据追平、DMS实例与迁移数据量、增量与时间窗口的平衡。

在实践中,光环有云发现使用AWS DMS进行迁移既有优势,也有其局限性。优势表现在:简单易用;在迁移过程中源数据库可持续运行;具有较小的业务中断窗口,可保持业务连续性;支持异构数据库迁移;可实现自动故障转移,十分可靠;在向Aurora迁移数据库时,可免费使用AWS DMS 特定实例 6个月。

其局限性表现在:DMS仅同步表中的数据;同步较大的数据增量时,耗时较长;AWS DMS自身校验机制耗时易报错。

总之,利用AWS DMS进行数据库迁移,可以轻松并安全地将数据库迁移至AWS。源数据库能够在迁移过程中全面保持运行,从而尽可能减少依赖该数据库的应用程序的停机时间。AWS DMS可以在广泛使用的开源商业数据库之间迁移数据。不过还是要提醒用户注意,数据库迁移是一项十分复杂且有难度的工作,即使是有高效安全的迁移工具,还是需要一支有经验的技术团队作为迁移的支持,这样才能保证数据库迁移的安全、有序进行,避免差错。光环有云作为AWS专业服务商,可以为客户提供从云迁移到运维管理的整套解决方案。

上一篇:511dd.com:IBM为数据科学家拓展开源机器学习工具
下一篇:没有了

相关阅读