写点什么

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

  • 2016-04-01
  • 本文字数:2473 字

    阅读完需:约 8 分钟

在经历了一个 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 账号,获得 12 个月免费套餐:点击注册

有云计算问题?立刻联系 AWS 云计算专家:立即联系

2016-04-01 19:001768

评论

发布
暂无评论
发现更多内容

给你讲懂 MVCC 续篇

Nick

MySQL 源码 MVCC 6月月更 深入解析

Neat Syntax Design of an ETL Language (Part 2)

Bright

数据开发 ETL 大数据开发 EasySQL

ERROR日志格式与注意点

zarmnosaj

6月月更

由点到面贯穿整个Java泛型理解

知识浅谈

Java泛型

自动化测试

IT蜗壳-Tango

6月月更

疫情防控,居家办公,网上授课之心得 | 社区征文

sky

初夏征文

论一个优秀红队人员的自我修养

穿过生命散发芬芳

6月月更 攻防演练 自我修养

学习React源码的五个层次

郭明

React

非凸联合创始人李佐凡:将量化作为自己的终身事业

非凸科技

人工智能 机器学习 rust 量化交易 算法交易

谈谈飞书对开发工作的优势 | 社区征文

武师叔

初夏征文

Java基础:异常处理机制

百思不得小赵

异常 javase 6月月更

你真的需要自动化测试吗?

老张

软件测试 自动化测试

Sumati GameFi生态纵览,神奇世界中的元素设计

鳄鱼视界

Smartctl 打开设备遇到 Permission denied 问题排查过程记录

耳东@Erdong

Linux smart 6月月更 Permission denied

面向对象开发

Jason199

面向对象 js 6月月更

程序猿职业发展9项必备软技能

慕枫技术笔记

职业发展 6月月更

TSDB在民机行业中的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

netty系列之:在netty中使用tls协议请求DNS服务器

程序那些事

Java Netty 程序那些事 6月月更

Android 硬布局item的高级写法

yechaoa

android layout 6月月更

jwt

卢卡多多

JWT 6月月更

探索C语言程序奥秘——C语言程序编译与预处理

未见花闻

6月月更

java定义属性错误_错误处理

工程师日月

6月月更

一文搞懂php中的(DI)依赖注入

乌龟哥哥

6月月更

Object.defineProperty也能监听数组变化?

德育处主任

JavaScript Vue 原理分析 数据变更跟踪 6月月更

Redis 那些事

Damon

6月月更

实战攻防演练中的四大特点

穿过生命散发芬芳

6月月更 攻防演练

MCN机构遍地开花:博主和作者要谨慎签约、行业水很深

石头IT视角

Java Core 「17」ThreadLocal

Samson

学习笔记 Java core 6月月更

被疫情偷走的时间都去哪了 | 社区征文

宇宙之一粟

时间管理 居家办公 6月月更 初夏征文

DevEco Studio 3.0编辑器配置技巧篇

坚果

OpenHarmony 6月月更

Wireshark的HTTP请求包和响应包如何对应

程序员欣宸

Wireshark 6月月更

AWS发布关系型数据库迁移服务_服务革新_Richard Seroter_InfoQ精选文章