AWS数据库迁移介绍
AWS数据库迁移服务(AWS DMS)是一种云服务,可迁移关系数据库、NoSQL数据库和其他几种类型的数据库。使用AWS DMS,客户可以选择将其数据完全迁移到云中,或利用云和内部部署的组合设置。
使用AWS DMS,您不仅可以最初迁移数据库,还可以复制正在进行的更改。对于迁移不同的数据库引擎,我们可以使用AWS模式转换工具(AWS SCT)将数据库模式转换为新的平台,然后使用AWS DMS迁移数据。
在基本层面上,AWS DMS是AWS云中运行复制软件的服务器。我们创建一个源和目标数据库连接,以告诉AWS DMS在复制实例的帮助下提取表单并加载到哪里。之后,我们安排一个在该服务器上运行的任务,将数据从源数据库移动到目标数据库。
下图演示了AWS DMS复制过程。
AWS数据库迁移的好处
- AWS DMS可以自动部署、管理和监控迁移所需的所有硬件和软件,从而避免执行容量分析、硬件和软件采购、系统安装和管理以及系统测试/调试等常规任务。
- AWS DMS允许我们根据需求向上或向下扩展迁移资源。
- 使用AWS DMS,我们只需为使用的资源付费,因为它采用现收现付模式,不像传统的授权计划那样需要预先购买成本和持续的维护费。
- AWS DMS的另一个优点是自动故障转移。在主复制服务器发生故障时使用备份复制。
- AWS DMS支持几乎所有的DBMS引擎,如Oracle、Microsoft SQL Server、MySQL、MariaDB、PostgreSQL、Db2 LUW、SAP、MongoDB和Amazon Aurora。
- AWS DMS借助AWS模式转换工具支持异构数据迁移。
- AWS DMS安全迁移数据。静态数据使用AWS密钥管理服务(AWS KMS)加密。
AWS DMS组件
AWS DMS迁移由三个组件组成:
- 复制实例
- 源端点和目标端点
- 复制任务
复制实例:
复制实例只是一个托管的Amazon弹性计算云(Amazon EC2)实例,它承载一个或多个复制任务。AWS DMS使用多可用性区域部署提供高可用性和故障转移支持。系统会自动在不同的可用分区中创建复制实例的备用副本。
创建复制实例的示例如下:
- 通过提供复制实例的名称、VPC和安全组名称并使其可公开访问,我们可以创建复制实例。
端点:
端点是数据库的访问点(URL),通过它我们可以访问源数据库和目标数据库。AWS DMS使用端点连接源数据库和目标数据库。
要创建一个端点,需要一些信息:
- 端点类型:源或目标。
- 引擎类型:数据库引擎类型,如MariaDB、Oracle等。
- 服务器名称:数据库服务器的服务器名称或IP地址。
- 端口号:数据库服务器的端口号。
- 凭据:我们可以访问数据库的用户名和密码。
在创建复制任务之前,需要对复制任务进行测试。
下面是在AWS DMS中创建端点的示例:
复制任务:
复制任务有助于将一组数据从源端点移动到目标端点。
创建复制任务需要执行以下操作:
- 复制实例
- 源端点
- 目标端点
- 迁移类型选项:
- 满载(从数据库迁移现有数据):这将有助于仅将现有数据库从源数据库迁移到目标数据库。
- 全负载和CDC(更改数据捕获):这适用于迁移完整的数据负载和捕获源中的正在进行的更改,并将其反映到目标数据库中。
- 仅CDC:这仅对迁移正在进行的数据更改有帮助。
模式和代码迁移
当涉及到转换异构数据库迁移中的模式时,您将希望利用一个称为AWS SCT(模式转换工具)的工具,该工具将帮助您将源数据库的模式转换为预期的目标数据库。
下图显示了这个复制任务的示例:
AWS DMS的源数据库
源数据库是通过AWS DMS迁移数据的数据库。它可能在本地,也可能在AWS平台(AWS S3、AWS RDS实例)中。
AWS DMS支持以下数据库:
- Microsoft SQL
- MariaDB
- PostgreSQL
- MongoDB
- AWS S3
- 亚马逊极光
- 亚马逊文档DB
- 还有其他几个
下面是一个在AWS EC2实例上作为源数据库的MariaDB数据库示例:
AWS DMS的目标数据库
目标数据库是要迁移数据的目标点。AWS DMS支持以下数据库:
- MySQL
- MariaDB
- 甲骨文
- PostgreSQL
- Amazon RDS实例数据库
- 亚马逊红移
- 亚马逊DynamoDB
- Amazon s3
- 亚马逊运动数据流
- 亚马逊海王星
- 亚马逊卡夫卡等等。
下面是一个在RDS实例上使用MariaDB数据库作为目标数据库的例子:
一旦数据迁移完成,我们就可以使用SQL命令在目标数据库服务器上进行检查。
AWS DMS的局限性
- 对于异构数据库迁移,AWS DMS无法转换源数据库的模式。我们必须使用AWS SCT等第三方工具。
- 注意:AWS SCT无法转换Oracle数据库的模式。
- AWS DMS需要一些代码来更改增量代码的数据捕获。
- 在持续的基础上维护AWS DMS可能同时具有挑战性。
- 对于大型数据库迁移,AWS DMS可能会降低源数据库的速度。
Perficient如何帮助您?
Perficient是经过认证的亚马逊网络服务合作伙伴,在云平台解决方案、联络中心、应用现代化、迁移、数据分析、移动、开发人员和管理工具、物联网、无服务器、安全等方面拥有超过10年的企业级应用交付经验和专业知识。配合我们业界领先的战略和团队,Perficient能够帮助企业应对最严峻的挑战,并最大限度地利用他们的实施和集成。
写得很好,谢谢!!
干得好!很有帮助
伟大的工作。这肯定会有帮助!
不错的博客,阿琼,继续努力!!
一篇信息量极大的文章!!
非常,非常祝贺,阿琼,这是一篇信息丰富的博客文章!!
希望以后能看到更多这样的文章!
祝你一切顺利!