AWS发布关系型数据库迁移服务

在经历了一个beta阶段,并且见证了客户将超过1,000个on-premises数据库迁移到云端之后,AWS正式发布了他们的数据库迁移服务(Database Migration Service)。这个按需使用的云服务支持实时的迁移场景,借助无模式的转换工具,在迁移过程中,用户可以使用该服务切换数据库平台。

Amazon在去年秋天他们的年度re:Invent会议上第一次透露该服务,并且在一个AWS region中为客户提供了功能有限的预览功能。现在,数据库迁移服务(DMS)面向所有的客户开放,可以在AWS全球八个region上使用。在一篇宣布该服务可用的博客文章中,AWS的首席布道师Jeff Barr描述了这个管理型的服务是如何运行的。

AWS数据库迁移服务需要在AWS上搭建并管理一个副本实例(replication instance)。这个实例从源数据库中获取数据,并将其加载到目标数据库之中,它可以在一次性的迁移之后,进行持续的复制,从而最小化迁移过程的停机时间。在这个过程中,DMS会处理与迁移相关的复杂细节,包括从一个数据库平台到另外一个数据库平台的数据类型转换(例如从Oracle到Aurora)。这个服务同时会监控副本以及实例的健康状况,如果出错的话,会给出提示,如果必要的话,还会自动地提供替换实例。

尽管DMS端点始终要位于AWS中——运行在EC2虚拟机上或位于关系型数据库服务(Relational Database Service)中——但是其他的端点可以位于任意可访问到的主机上。副本实例位于端点之间,处理数据的安全传输。DMS可以用来实现一次性的迁移,也可以实现数据库后续的复制。在配置迁移任务的时候,用户可以选择“完全加载已有的数据,完全加载后续的数据变更或者仅复制后续的数据变更”。DMS所支持的关系型数据库范围广泛,支持相似的数据库平台之间的迁移,也支持从一个数据库平台迁移至另一个数据库平台。

AWS数据库迁移服务可以用于Oracle、SQL Server PostgreSQL、Amazon Aurora、MySQL或MariaDB的迁移。DMS支持同种类型之间的迁移,如Oracle到Oracle,也支持不同数据库平台之间的迁移,如Oracle到Amazon Aurora或SQL Server到MySQL之间的迁移。AWS数据库迁移服务能够将on-premises数据库迁移至Amazon RDS或Amazon EC2中,将运行在EC2上的数据库迁移至RDS,或者进行反向的迁移,也能将某个RDS数据库迁移至另外一个RDS数据库。

不管使用哪种源或目标数据库引擎,要让DMS正常运行起来,用户不需要在本地安装驱动或软件。关于用户迁移数据库以及将数据库引擎替换为更为开放的方案方面, Amazon指出在这个比例上会有一些惊喜的发现。

“在AWS数据迁移服务的预览版本期间,上百家客户已经将成千的on-premises数据库转移到了Amazon Aurora、其他Amazon RDS引擎或运行在Amazon EC2的数据库之中”,AWS关系型数据库服务(Relational Database Service)的副总裁Hal Berenson这样说道,“客户不断地告诉我们,他们想要将on-premises数据库迁移到AWS上,并且迁移为更加开放的数据库引擎方案,不过对AWS数据库迁移服务的反响还是超出了我们的预期。在预研版本期间,三分之一的数据库迁移都使用到了AWS的数据迁移服务,他们不仅将数据库转移到AWS Cloud中,还在这个过程中切换了数据库引擎。”

有些客户会选择迁移至不同的、非商业的数据库平台,这些客户被告知可以使用AWS模式转换工具(Schema Conversion Tool),这个工具会将源模式和存储过程转换为合适的目标格式。具体来讲,它会得到Microsoft SQL Server或Oracle的源模式,然后将其转换为一种格式,这种格式能够运行在基于PostgreSQL、Aurora或MySQL的Amazon RDS实例中。这个免费的转换工具可以作为客户端软件运行在Windows、OS X或Linux桌面上。

Amazon将DMS定位为用户能够承受得起的数据迁移方案。迁移软件本身是没有成本的,客户只需要支付副本实例的费用。这些副本实例“会包括足够的存储空间,用于交换空间(swap space)、副本日志和数据缓存,大多数的副本和进站的数据传输(inbound data transfer)是免费的”。在托管副本实例时,有两种可用的EC2实例类型:T2和C4。T2提供了有限的性能和超频的CPU使用。在开发和测试的迁移或者执行阶段性的迁移任务时,Amazon推荐使用该方案。C4用于高性能和低延迟的场景,建议用在大型的数据库上。T2实例带有50GB的网络附加存储(network attached storage),C4实例包含了100GB的网络附加存储。对于额外的存储,它的成本是每GB每月0.115美元(针对美国用户)。对于每个账户,AWS支持所有副本实例的存储最高达6TB。尽管进站数据传输是免费的,并且相同AWS Availability Zone之内,数据库之间的传输也没有成本,但是在Availability Zones、AWS regions之间,或将数据传输到环境之外的话,就会按照每GB来计算传输费用了。

DMS用户可以迁移源数据的所有表,也可以迁移这些表的一个子集。我们可以料想到,针对 Oracle(源数据库、目标数据库)、SQL Server(源数据库, 目标数据库), PostgreSQL(源数据库)以及MySQL(源数据库, 目标数据库)这些数据库的迁移分别支持哪些特性都会有相关的说明。比较有意思的是,对于DMS来说,加密的数据源也不存在什么问题。

AWS数据库迁移服务会在SQL接口层连接到你的数据库端点上。如果你使用了Oracle或SQL Server的透明数据加密(Transparent Data Encryption)特性的话,AWS数据迁移服务会从源数据库中抽取出加密的数据,然后将其复制到目标数据库中。对于存储级别的加密来讲,同样如此。只要AWS数据迁移服务具有到源数据库的正确凭证,它就能够连接到源数据库并将数据(按照加密的形式)传送至目标库。

很多公司正在致力于将资产转移到公有云,但是对私有云的投资也在不断增长。在采用公有云的过程中,数据迁移的成本和复杂性可能会是一个掣肘的因素,所以像AWS这样的提供商会持续致力于简化该活动的服务。

查看英文原文:AWS Launches Relational Database Migration Service

你可能感兴趣的:(AWS发布关系型数据库迁移服务)