亚马逊网络服务

AWS数据库迁移

开发者SEO基础知识

AWS数据库迁移介绍

AWS数据库迁移服务(AWS DMS)是一种云服务,可迁移关系数据库、NoSQL数据库和其他几种类型的数据库。使用AWS DMS,客户可以选择将其数据完全迁移到云中,或利用云和内部部署的组合设置。

使用AWS DMS,您不仅可以最初迁移数据库,还可以复制正在进行的更改。对于迁移不同的数据库引擎,我们可以使用AWS模式转换工具(AWS SCT)将数据库模式转换为新的平台,然后使用AWS DMS迁移数据。

在基本层面上,AWS DMS是AWS云中运行复制软件的服务器。我们创建一个源和目标数据库连接,以告诉AWS DMS在复制实例的帮助下提取表单并加载到哪里。之后,我们安排一个在该服务器上运行的任务,将数据从源数据库移动到目标数据库。

下图演示了AWS DMS复制过程。

1

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迁移由三个组件组成:

  1. 复制实例
  2. 源端点和目标端点
  3. 复制任务

复制实例:

2

复制实例只是一个托管的Amazon弹性计算云(Amazon EC2)实例,它承载一个或多个复制任务。AWS DMS使用多可用性区域部署提供高可用性和故障转移支持。系统会自动在不同的可用分区中创建复制实例的备用副本。

创建复制实例的示例如下:

  • 通过提供复制实例的名称、VPC和安全组名称并使其可公开访问,我们可以创建复制实例。

3.

端点:

端点是数据库的访问点(URL),通过它我们可以访问源数据库和目标数据库。AWS DMS使用端点连接源数据库和目标数据库。

要创建一个端点,需要一些信息:

  • 端点类型:源或目标。
  • 引擎类型:数据库引擎类型,如MariaDB、Oracle等。
  • 服务器名称:数据库服务器的服务器名称或IP地址。
  • 端口号:数据库服务器的端口号。
  • 凭据:我们可以访问数据库的用户名和密码。
亚马逊网络服务-避免联络中心中断:计划升级到亚马逊连接
避免联络中心停机:计划升级到Amazon Connect

了解升级呼叫中心时的六个最常见陷阱,以及Amazon Connect如何帮助您避免这些陷阱。

获取指南

在创建复制任务之前,需要对复制任务进行测试。

下面是在AWS DMS中创建端点的示例:

4

复制任务:

复制任务有助于将一组数据从源端点移动到目标端点。

创建复制任务需要执行以下操作:

  • 复制实例
  • 源端点
  • 目标端点
  • 迁移类型选项:
    • 满载(从数据库迁移现有数据):这将有助于仅将现有数据库从源数据库迁移到目标数据库。
    • 全负载和CDC(更改数据捕获):这适用于迁移完整的数据负载和捕获源中的正在进行的更改,并将其反映到目标数据库中。
    • 仅CDC:这仅对迁移正在进行的数据更改有帮助。

5

模式和代码迁移

当涉及到转换异构数据库迁移中的模式时,您将希望利用一个称为AWS SCT(模式转换工具)的工具,该工具将帮助您将源数据库的模式转换为预期的目标数据库。

下图显示了这个复制任务的示例:

6

AWS DMS的源数据库

源数据库是通过AWS DMS迁移数据的数据库。它可能在本地,也可能在AWS平台(AWS S3、AWS RDS实例)中。

AWS DMS支持以下数据库:

  • Microsoft SQL
  • MariaDB
  • PostgreSQL
  • MongoDB
  • AWS S3
  • 亚马逊极光
  • 亚马逊文档DB
  • 还有其他几个

下面是一个在AWS EC2实例上作为源数据库的MariaDB数据库示例:

7

8

AWS DMS的目标数据库

目标数据库是要迁移数据的目标点。AWS DMS支持以下数据库:

  • MySQL
  • MariaDB
  • 甲骨文
  • PostgreSQL
  • Amazon RDS实例数据库
  • 亚马逊红移
  • 亚马逊DynamoDB
  • Amazon s3
  • 亚马逊运动数据流
  • 亚马逊海王星
  • 亚马逊卡夫卡等等。

下面是一个在RDS实例上使用MariaDB数据库作为目标数据库的例子:

9

一旦数据迁移完成,我们就可以使用SQL命令在目标数据库服务器上进行检查。

AWS DMS的局限性

  • 对于异构数据库迁移,AWS DMS无法转换源数据库的模式。我们必须使用AWS SCT等第三方工具。
    • 注意:AWS SCT无法转换Oracle数据库的模式。
  • AWS DMS需要一些代码来更改增量代码的数据捕获。
  • 在持续的基础上维护AWS DMS可能同时具有挑战性。
  • 对于大型数据库迁移,AWS DMS可能会降低源数据库的速度。

Perficient如何帮助您?

Perficient是经过认证的亚马逊网络服务合作伙伴,在云平台解决方案、联络中心、应用现代化、迁移、数据分析、移动、开发人员和管理工具、物联网、无服务器、安全等方面拥有超过10年的企业级应用交付经验和专业知识。配合我们业界领先的战略和团队,Perficient能够帮助企业应对最严峻的挑战,并最大限度地利用他们的实施和集成。

在这里了解更多关于AWS的实践,并与我们的团队取得联系!

关于“AWS数据库迁移”的思考

  1. 一篇信息量极大的文章!!

    非常,非常祝贺,阿琼,这是一篇信息丰富的博客文章!!
    希望以后能看到更多这样的文章!
    祝你一切顺利!

留下回复

你的电邮地址将不会公布。必填字段已标记

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

Arjun Mishra,助理技术顾问

Arjun Mishra是Perficient的副技术顾问,在云服务方面有3.5年的经验。Arjun是一个优秀的团队合作者,主要专注于云和DevOps技术。

更多来自作者

关注我们
推特 Linkedin 脸谱网 Youtube Instagram