异构数据库迁移 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

异构数据库迁移

由于开源数据库和 AWS 等云计算平台的创新和改进,许多组织正在从 Oracle 等专有(在线事务处理或 OLTP)数据库引擎转向开源引擎。对于任何组织来说,Oracle 数据库都是任务关键型系统,但与特定供应商锁定将面临很大风险,并且成本高昂。低运营成本和无许可费是考虑将底层数据库技术转换为开源或 AWS 云原生数据库的有力理由。

迁移出 Oracle 的其他原因包括供应商锁定期、许可审核、昂贵的许可费和成本。Oracle 的标价基于每核心模型制定,并且分区和高可用性等功能需要额外付费。因此,许多组织在迁移到 AWS 时选择将其 Oracle 数据库迁移到开源数据库(例如 PostgreSQL、MySQL 或 MariaDB)或 AWS 云原生数据库(例如 Amazon Aurora 或 Amazon DynamoDB)。

您还可以将 Oracle 数据仓库数据库迁移到 Amazon Redshift,这是一个快速、完全托管的云数据仓库。Amazon Redshift 已与您的数据湖集成,其性能比任何其他数据仓库快三倍,并且成本比任何其他云数据仓库低 75%。有关更多信息,请参阅 AWS 网站上的从 Oracle 迁移至 Amazon Redshift

要迁移到开源或 AWS 原生数据库,请根据您拥有的数据类型、访问模型、可扩展性、应用程序实用性和复杂性选择正确的数据库。例如,近年来,PostgreSQL 数据库因其强大的功能和与商业数据库的高度兼容性而备受欢迎,成为重构 Oracle 数据库的用户最常见的迁移目标。但是,从 Oracle 迁移到 PostgreSQL 以及其他开源数据库通常既困难又耗时,并且需要仔细评估、规划和测试。

借助 AWS DMS 和 AWS Schema Conversion Tool (AWS SCT) 等服务,这一过程变得更加简单,这些服务可帮助您将商业数据库迁移到 AWS 上的开源数据库,同时尽可能缩短停机时间。

在异构数据库迁移中,源数据库和目标数据库引擎是不同的,例如从 Oracle 迁移到 Amazon Aurora,或从 Oracle 迁移到 PostgreSQL、MySQL 或 MariaDB。源数据库和目标数据库中的架构结构、数据类型和数据库代码可能大不相同,因此在数据迁移开始之前,必须对架构和代码进行转换。因此,异构迁移包括两个步骤:

  • 第 1 步:转换源架构和代码,使其与目标数据库相匹配。您可以使用 AWS SCT 进行此转换。

  • 第 2 步:将数据从源数据库迁移到目标数据库。您可以使用 AWS DMS 完成此过程。

使用 AWS SCT 和进行异构数据库迁移 AWS DMS

在迁移过程中,AWS DMS 会自动处理所有必需的数据类型转换。源数据库可以位于 AWS 以外的您自己的内部环境中,也可以是在 EC2 实例上运行的数据库,也可以是 Amazon RDS 数据库(请参阅 AWS DMS 文档中的数据迁移来源)。目标可以是亚马逊 EC2、亚马逊 RDS 或亚马逊 Aurora 中的数据库。

异构数据库迁移工具

下表列出了可用于从 Oracle 数据库迁移到其他数据库引擎的各类工具。

迁移工具

目标数据库支持

用于

AWS SCT

Amazon RDS for MySQL

Amazon RDS for PostgreSQL

Amazon Aurora MySQL

Amazon Aurora PostgreSQL

架构转换

AWS DMS

Amazon RDS for MySQL

Amazon RDS for PostgreSQL

Amazon Aurora MySQL

Amazon Aurora PostgreSQL

数据迁移

下面的小节提供了关于每个工具的更多信息。

AWS SCT

AWS Schema Conversion Tool (AWS SCT) 可将您现有的商业数据库架构转换为开源引擎或 AWS 云原生数据库。AWS SCT 通过自动将源数据库架构和大部分数据库代码对象转换为与目标数据库兼容的格式,帮助您预测异构数据库迁移。任何无法自动转换的对象都会被明确标记,以便进行手动转换。AWS SCT 还可以扫描您的应用程序源代码中的嵌入式 SQL 语句,并将其作为数据库架构转换项目的一部分进行转换。 

AWS DMS

AWS Database Migration Service (AWS DMS) 可快速安全地将数据库迁移到 AWS。源数据库在迁移过程中可保持完全正常运行,从而最大程度减少应用程序停用时间。AWS DMS 支持同构迁移,例如 Oracle 到 Oracle;以及不同数据库平台之间的异构迁移,例如 Oracle 到开源数据库或 AWS 云原生数据库。AWS DMS 可管理迁移过程的复杂性,包括自动将源数据库中发生的数据更改复制到目标数据库。完成数据库迁移后,目标数据库会保持与源数据库的同步,您可以在方便时切换到目标数据库。