带你轻松迁移数据库到亚马逊云科技 (带你轻松迁移的成语)

教程大全 2025-07-15 16:08:50 浏览

原创2020-08-12 16:57:50亚马逊云科技推出了 Amazon ElastiCache Global> 一、亚马逊云科技 数据库概览

在这个互联网极其发达的时代,我们每个人会接收以及生产各式各样的信息,数据的重要性已经渗透到每个角落,成为每个行业发展和变革的必要元素。我们日常使用的手机应用,比如微信、支付宝、微博等,里面的数据都是需要数据库来进行存储,不同的应用会使用不同类别的数据库,甚至同一个应用可能同时使用多种数据库。

应用离开了数据库就像鱼儿离开了水,由此可见数据库在当今互联网的重要性。我们甚至可以说当今世界最宝贵的资源不再是石油,而是数据。随着业务的快速发展,全球化业务新兴需求增加,本地传统数据库已经无法为快速发展的业务提供支持,我们需要探索一种新的方式,把本地数据库迁移到云中,利用云中数据库的优势来解决本地数据库中遇到的瓶颈问题。

我对各家云厂商数据库种类做了一个比较,发现 亚马逊云科技 为用户提供的数据库种类最为丰富,几乎把所有数据库相关的应用场景都捕捉到了。下面通过一个列表,来浏览一下 亚马逊云科技的数据库种类,其中关系型数据库最为丰富,也是目前应用使用最多的数据库。

以上这些数据库由 亚马逊云科技 完全托管,用户不用去管理底层硬件系统升级维护等相关工作,这也是推荐使用全托管数据库而非自建数据库的原因。为了方便客户数据库迁移上云,亚马逊云科技还为客户提供了非常方便的迁移工具 DMS,帮助用户轻松经济高效的完成迁移任务。

那么面对这么多种类的数据库,尤其是一些新型数据库,我们从来没有使用过,我们该如何选择?我们需要从业务场景为出发点来分析使用哪种数据库,下面我对 亚马逊云科技数据库的使用场景做个简单的介绍,也让大家对 亚马逊云科技各种数据库的应用场景有一个大致了解。

数据库种类

应用场景

关系数据(RDS)

传统应用程序、ERP、CRM 、电子商务

键值数据(DynamoDB)

高流量 Web 应用、电子商务系统、游戏应用程序、微服务

宽列数据(Keyspaces)

用于设备维护、队列管理和路线优化的大规模工业应用程序

文档数据(DocumentDB)

内容管理、目录、用户配置文件、移动和 Web 应用程序

内存数据(ElasticCache)

缓存、会话管理、游戏排行榜、地理空间应用程序

图数据(Neptune)

欺诈检测、社交网络、推荐引擎、知识图谱

时序数据(Timestream)

IoT 应用、开发运营和工业遥测

分类账数据(QLDB)

系统记录、供应链、注册、银行事务

初步了解 亚马逊云科技各项数据库的应用场景之后,我们详细介绍 亚马逊云科技各项数据库特性,以及 亚马逊云科技数据库如何满足用户在各种业务场景下面的需求。

数据库家族

关系型数据库

关系型数据库是起源非常早的数据库,也是目前各种应用使用最多的数据库。我们使用各种应用都需要注册用户,这些用户数据存放在关系型数据库里面;你在电商网站下了一个订单,订单也是存放在关系型数据库里面;我们访问的网站,其后台数据也是存放在关系型数据库里面。所以说关系型数据库无所不在。

说到 亚马逊云科技的关系型数据库,那不得不说一下 Amazon Aurora,Aurora 是 亚马逊云科技 专为云而打造的云原生数据库,它兼容 MySQL 和 PostgreSQL,它可以支撑我们各种关系型数据库的应用场景,性能好、易扩展、安全、便于管理,Aurora 如此好用,也依托于它下面的一些特性:

Aurora 具有很多传统数据库不具有的特性,这样让 Aurora 成为关系型数据库的首选。不过如果你不想更换数据库类型,把本地现有的数据库迁移到云中,亚马逊云科技还为用户提供 MySQL、MariaDB、PostgreSQL、SQL Server、Oracle 等关系型数据库,客户可选择相同的数据库引擎进行迁移。并且这些数据库依托于 亚马逊云科技强大的基础设施和管理,同样安全稳定。

如果 Aurora 非常吸引你,而你现在用的是 SQL Server 或者 Oracle,那该怎么办?不用担心,亚马逊云科技为客户提供了 Schema Conversion Tool、DMS这2个服务,可以帮助客户评估并且转换数据库对象,非常便捷地将本地数据库迁移到 Aurora。

键值数据库

互联网发展到今天,数据表越来越大,有的应用要求写得快、读的快等需求。关系型数据库已经无法满足我们的需求,因此 NoSQL 数据库也就诞生了。我们把一些不需要关系查询,要求读写快的应用数据放置在 NoSQL 数据库里面来解决性能问题。

考虑到客户的需求,亚马逊云科技也为客户提供了自研的 NoSQL 数据库 Amazon DynamoDB,它支持键值存储,也支持文档存储,特别以键值存储为核心,面对海量数据,性能非常强悍。因其由 亚马逊云科技完全托管,所以也是无服务器架构中的重要一员。

我也在 亚马逊云科技官方渠道了解到,汇量科技是一家广告公司,他们也大量使用了 亚马逊云科技的服务,尤其是对广告点击的数据,正是采用了 DynamoDB 数据存储,可以支撑 2019 年日均广告请求量 600 亿次,峰值高达 1000 亿次。如此巨大的请求量,放在关系型数据库将无法支撑,由此可见 DynamoDB 在这种应用场景性能多么强悍。

文档数据库

JSON 数据无数不在,它是一种非常灵活的格式,你可以很方便地修改一条数据的 Schema。它是一种轻量级的数据交换格式,目前使用最广泛的 API 标准 RESTfull API,它的输出标准也是 JSON。使用 JSON 进行数据建模最符合人类语言的逻辑。以上这些使用场景,我们都需要一种文档数据库来存储 JSON 数据,它既不是关系型数据库,也不是键值数据库。

哪些应用场景会用到文档数据库呢?因为 JSON 数据的灵活,文档数据已经渗透到各个领域,比如在游戏中,存储用户信息,装备积分等;在物流中,存储订单信息,订单状态;在社交中,存储用户信息以及用户发表的朋友圈信息;在视频直播中,存储用户信息和礼物信息等。

为了满足客户这些使用场景,亚马逊云科技为客户提供了 DocumentDB 数据库,见名知意,它是一个云原生的文档数据库,与 MongoDB 兼容,你可以把现有的 MongoDB 数据库通过 DMS 或 mongodump/mongorestore 等原生方式迁移上 亚马逊云科技。

DocumentDB 扩展性很强,水平扩展在分钟级别,最多可以扩展到 15 个读副本;垂直扩展也在分钟级,最高扩展至 768 GiB 内存;存储可以自动扩展,最高支持 64TB。这些特性都是我们在自建数据库很难实现的。

内存数据库

如今的应用越做越大,很多都已经开始进行分布式或者微服务架构,这时候就需要一个存储库来储存用户的会话信息,不然用户可能处于频繁的登陆状态;还有应用要求提升数据查询速度,这就需要给数据库添加缓存层等。以上这些应用场景都会需要内存数据库。

那么 亚马逊云科技 同样在云中为客户提供了完全托管的内存数据库 Amazon ElastiCache,客户可以把一些热数据、会话数据、消息数据、排行数据等存放在其中,以加速数据的存取速度。它支持两种存储引擎,Memcached 和 Redis。

图数据库

关系型数据库有了,键值和内存数据库也有了,已经基本满足大部分应用的日常需求,对于 亚马逊云科技来说,这还不够。用户还会面临性能和schema变更不易的问题,因此 亚马逊云科技推出了图数据库 Neptune。

使用图形数据库处理社交网络数据非常高效,Amazon Neptune 可以快速轻松地处理大量的用户配置文件和交互,从而构建社交网络应用程序。

时序数据库

顾名思义,时序数据库是和时间相关的数据库。因为很多对数据的查新都是以时间段为基础的, 适用于 IoT 和运营应用程序。因此 亚马逊云科技为用户提供了 Amazon Timestream,专门处理时序数据,目前还处于注册预览版。

分类账数据库

分类账数据库的使用场景也很好理解,最适合的场景是“记账本”。“账本”是不能被更改的,每一笔记录都不能被改动,被忠实的记录下来,以备查询。Amazon Quantum Ledger> 迁移工具

介绍了这么多的数据库,以及各种数据库的使用场景和特性,几乎满足日常应用的所有需求,那我们肯定是想知道如何使用这些数据库,以及如何把目前本地自建的数据库迁移到云中。下面我们将介绍 亚马逊云科技为客户提供的迁移神器 Amazon> 迁移方式

所有的数据库都有自己的备份还原工具,使用这些工具我们可以方便的进行数据离线迁移,但是会造成较长的停机时间,主要看数据量的大小。如果需要最小的停机时间,那 DMS 是最佳选择。下面大致列举了各种迁移方式对业务的一个影响程度,可以根据自己的实际情况进行选择。

因素

离线(转储)

混合

在线(DMS)

复杂度

非常简单

复杂

中等

速度

中等

停机时间

二、云上数据库迁移实践

迁移解决方案

我们在本地数据中心有各式各样的自建数据库,如果对数据库迁移上云,我们该如何选择云中的数据库呢,我下面简单整理了一个列表,针对不同的场景,我们可以选择对应的解决方案。

迁移须知

数据库是任何应用程序的主要组件之一,因此我们必须谨慎地进行迁移。您需要知道数据库的大小,数据库内部表的大小以及数据库模式。

使用 AmazonDMS 将数据迁移到亚马逊云科技 很简单。首先在 亚马逊云科技 环境中创建复制实例,然后 AmazonDMS 连接源数据库端点和目标数据库端点。迁移开始时,AmazonDMS 会创建表,加载数据并同步数据库。整个复制任务都由复制实例承担,建议创建配置比较大的复制实例。

使用 AmazonDMS 执行迁移的总体流程如下:

带你轻松迁移的成语 将 MySQL 数据迁移到 Aurora MySQL

这个案例是一个同构数据库迁移,相对来说比较简单,迁移的方案有三种,可以直接使用mysqldump导出数据,然后再导入到 Aurora,适合数据量不大的数据库,另外一种是直接把数据库的源文件复制到 S3 存储桶,可以使用 Xtrabackup 备份数据库然后传到 S3 中,然后用这些文件还原到 Aurora 数据库,适合比较大量的数据,不过这两种数据库都是离线传输,需要停机迁移。

针对实时在线迁移数据库,我们需要用到 AmazonDMS,下面我将演示如何从一台 MySQL 数据库,实时迁移数据到 Aurora,对于源数据库,我们可以使用 AmazonRDS,或者在 EC2 上面的自建数据库,或是其他云厂商的 MySQL 数据库,下面我选择使用在 EC2 上面自建的数据来进行演示,所以操作均在 Amazonus-east-1区域。

1、配置源数据库

源数据库我们已经有了,你可以创建一个只读权限的临时账户用于数据迁移,我们这里就直接用具有读写权限的账户演示。

2、创建 Aurora 数据库

首先我们在 亚马逊云科技控制台中创建一个 Aurora MySQL 数据库作为我们的目标数据库,因为不是主要介绍创建数据库,所以创建过程这里不再演示,创建完成之后,需要记录下数据库地址,账户密码,当然为了安全,你也可以单独创建一个用于迁移的临时账户。

3、创建复制实例

Amazon DMS 复制实例执行源和目标之间的实际数据迁移。复制实例负责整个数据的迁移,对更改的数据进行缓存,所以说大一点的实例性能更好,缩短迁移时间。打开 Amazon DMS 控制台,选择创建复制实例,注意网络方面的限制,需要复制实例可以连接到两个数据库。

4、创建 MySQL 终端节点

在 Amazon DMS 控制台中,在导航窗格中选择 Endpoints (终端节点)。

5、创建 Aurora 终端节点

目标终端节点会更简单一写,因为是 AmazonRDS,我们可以直接勾选。

6、创建迁移任务

迁移任务中的迁移类型我们选择复制现有数据以及持续复制变更的数据,记得源数据库开启 binlog 日志。

在表映射选项里面,选择告知 DMS 应该迁移哪些表,迁移过程中还可以对表名进行一些转换,我们这里就选择完全复制整个数据库。

7、监控迁移任务

再等待一段时间之后,我们可以在任务详情里面看到数据迁移完成,并且目标数据库数据检查没有问题。

我们可以看到,通过 DMS 仅仅需要简单几步就可以把数据库迁移到亚马逊云科技,并且源数据库变更数据会实时的更新到目标数据库中。

将 SQL Server 数据库迁移到 Aurora MySQL

这个案例是一个异构数据库迁移,我们会用到 Amazon SCT 进行 Schema 转换,Amazon DMS 支持从 RDS 迁移到 RDS,所以这次的源数据库 SQL Server 是 Amazon RDS for SQL Server(Enterprise Edition)。

Schema 转换

1、在本地计算机安装

需要在自己的电脑上面安装 Amazon SCT 工具,以及连接 SQL Server 的 JDBC 驱动和 Aurora MySQL 的 JDBC 驱动。

驱动下载地址参照官方文档然后启动 SCT,配置一下刚刚下载的 JDBC 驱动。

2、创建迁移项目

打开 Amazon SCT,选择创建一个新项目,选择源和目标数据引擎。

分别连接 SQL Server 和 Amazon Aurora 数据库。

勾选我们要迁移的数据库,右键选择 Create report。

查看报告,看看有没有问题,如果没有问题,我们就可以直接进行转换了。

我这边遇到一个存储过程 MySQL 不支持,我这边忽略掉,比较懂数据库的人员可以进行修正。

3、Schema 转换

问题处理掉之后,我们就可以进行 Schema 转换了,和前面一样,右键数据库,选择 Convert schema。

执行之后,很快我们在目标数据库看到了转换的 Schema。

数据迁移

对于 SQL Server 的数据迁移方式,我们选择一次性迁移,不进行持续复制,持续复制配置过程稍微复杂一些,需要对源数据库进行一些配置,需要持续复制的用户,可以参照亚马逊云科技官方文档配置。

1、创建复制实例

打开 DMS 控制台,创建复制实例,同样注意网络情况,复制实例需要链接源和目标数据库。

2、创建 Amazon DMS 源和目标终端节点

创建完终端节点之后,首先运行一下测试,可以连接成功即可。

3、创建迁移任务

可以按照我下面的表格选择来配置迁移任务。

Task identifier

AuroraMigrationTask

Replication instance

replication-server

4、检查目标库数据

可以看到,迁移任务完成,数据也都转移过来了。

至此我们完成了异构数据库迁移,整个过程会比同构数据库迁移麻烦一些,不过整体也是比较简单了。DMS 完全托管、按量付费、图形界面操作,是数据库上云的利器,推荐大家使用 DMS 对数据库迁移上云。

三、总结

亚马逊云科技 数据库优势

在众多的云厂商中,我们为什么选择 亚马逊云科技 数据库服务,亚马逊云科技还有哪些独特的优势呢?我主要总结以下几点:

成本优势

使用自建数据,企业首先需要支付一笔资金购买服务器,一些商业数据库的授权,需要再次支付一笔费用。如果迁移到 亚马逊云科技的自研数据库,客户不必再支付高昂的商业数据库授权,也不必再去花费大量资金去购买服务器,在云中,客户只需要按量付费,因此很多企业由于把数据库迁移到 亚马逊云科技而节省巨大费用支出。

从最近的 亚马逊云科技公告中,看到 亚马逊云科技帮助三星把数据从商业数据库 Oracle 迁移到了 Aurora,为三星每月的数据库成本降低了 44%,并让三星的数据库运行更加稳定。

完全托管

以上所说的几种数据库都是 亚马逊云科技完全托管的数据库,完全托管意味着零运维。首先客户不需要去维护硬件的生命周期、系统的补丁更新、高可用的部署、备份等。如果需要对数据库扩展,也只需点几下鼠标而已,非让方便,让 DBA 从复杂的数据库运维中解脱出来,专注于数据库性能调优。

全球优势

过去我们需要借助非常复杂的技术手段,花费大量的成本、甚至牺牲一定的可用性,才能实现快速、稳定、安全的跨区域的数据复制,现在只要在 亚马逊云科技中轻轻点几下鼠标即可完成。

亚马逊云科技现已在全球 24 个地理区域内运营着 77 个可用区,180个边缘站点等,为 亚马逊云科技相应全球数据库提供了基础保障。依托于 亚马逊云科技强大的基础设施,目前已经有三款数据库支持全球同步,延迟通常不超过 1 秒,可以满足目前大部分应用的需求。

对于关系型数据库的全球同步需求,Amazon Aurora Global> 心得与建议

当然,数据库迁移是一个庞大而复杂的工程,尤其将数据库迁移上公有云,除了数据库知识更需要了解公有云上网络,存储,虚拟化等一系列知识。但是,我们不应该仅仅将数据库上云看做一个复杂的任务,更应该把它当做一个优化我们数据库的契机,那么上云过程中有哪些注意事项和建议呢?

对于一些允许停机的应用,这部分数据我们推荐使用离线迁移,整个操作比较简单,速度快,不容易出问题。

如果业务需要在线迁移,那么推荐使用 DMS 进行迁移,需要注意的是,在数据库切换之前先停掉源数据库写入,带数据完全同步到目标数据库之后进行数据库切换。

如果迁移的数据量比较大,建议选择配置比较大的复制实例,这样可以加速我们的复制速度。

如果您想要转换数据库引擎,在使用 SCT 进行 Schema 转换的时候可能会遇到一些目标数据库不支持的地方,请先联系 DBA 人员,对这些地方进行更改,满足之后再进行转换。


亚马逊云科技黑客松参赛秘籍重磅来袭,8月14日晚8点,亚马逊云科技专家传授秘籍心法!直播地址::亚马逊云科技云计算社群成立啦!在这里可以帮助你快速了解亚马逊云科技云计算最新动态、获取相关技术资料哦~想要进群的小伙伴请扫码回复【亚马逊云科技】,24h内审核进群。


软件开发技术怎么样?

软件技术是一个发展变化非常快的行业,软件人才要按照企业和领域需求来确定培养的方向。 高校一方面保证课程设置与软件技术的发展基本同步;另一方面坚持利用转、合、撤、拆的原则,降低专业课程中理论教学的比例,加强针对性和实用性,优化课程结构,形成合理的、科学的课程体系;针对高职学生,学校坚持以就业为导向的指导思想,强调其技能培养,注重课程安排的合理性。 软件技术的就业前景:国内经济的发展和互联网、计算机的大力普及极大地推动了中国软件产业的发展。 政府又大力推行国民经济信息化建设为软件和信息服务业带来良好的发展机遇,这使得国内计算机硬件市场高速发展,这就造成了国内软件市场方面对软件的需求量迅速增加,成为推动软件市场发展的主要动力。 软件技术的就业方向:毕业后可在政府、金融、企事业单位、从事计算机软件开发等方面的工作。

注册表的冗余信息对系统操作有什么影响?

冗余信息是指由于数据结构、存储等方面设计的不合理,而造成的信息重复,最常见的是出现在数据库的设计中。 一般数据库中的冗余信息可以进行模式分解而消除或减少,如果直接删除的话可能会导致一些错误。

南京迅虎科技有限公司

域名,空间和数据库,服务器托管,网站建设,网站优化,短信群发等业务

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐