Amazon Aurora数据库——带你领略极光之美

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Amazon Aurora数据库——带你领略极光之美

“云计算不断扩大运营规模的过程,是一个不断踩坑、发现bug的过程”。

这句话,对每一个云计算从业者,甚至所有开源软件从业者来说,都是一句至理名言。正因为此,有了开源Linux的商业化供应商红帽公司(Red Hat),从几年前的10亿美元营收到如今翻倍增长,直至这个周日被IBM宣布以340亿美元现金收购。

也正因为此,在今天的以数据为新资源的云时代,商业数据库的云化,甚至是原生的商业云数据库,正在变得越来越重要。

一个典型的例子,就是全球云计算巨头亚马逊AWS正在通过新一代的商用关系型数据库Amazon Aurora(原意北极光、曙光、朝霞)——不仅用于替代Oracle的数据库,同时也用于替代自身初阶的RDS。

image.png


替换RDS:突破性能瓶颈


众所周知,Autodesk是3D设计、工程和娱乐软件领域的领导企业之一。比如你家装修,橱柜的设计通常都是用Autodesk解决问题的,又快又方便。当然,你开的汽车、仰望过的摩天大楼、使用过的智能手机,基本上都出自Autodesk之手——一句话,Autodesk 为创造事物的人提供软件。

而今在云时代,Autodesk也搬到了云上——比如Autodesk Access Control Management (ACM)就是在云中诞生的,出于当时的条件,Autodesk自然而然地选择了Amazon RDS for MySQL。

image.png

“ACM数据库的大小约为1TB,只有少数的表超过十亿行。高峰时期我们每分钟会收到高达25000至30000条请求。”Autodesk公司高级工程经理Krishna Kumar说:“由于ACM的初始架构为了确保高可用性,应用程序层由跨多个可用区的 EC2 实例组成。尽管这种架构允许 Autodesk 扩展和平衡应用程序的负载,但瓶颈很快就转移到了数据库。”

正是因为 ACM 的采用受到所实施限制的严重制约,因此Autodesk决定评估AWS最新的高性能关系型数据库Amazon Aurora——Aurora的吞吐量最高可达标准 MySQL 数据库的五倍。这种性能的提升意味着Autodesk可以在不修改应用程序的前提下取消MySQL带来的节流限制,同时仍然拥有很大的裕度以满足未来增长之需。

“ACM的迁移非常成功。”Krishna Kumar表示,“Aurora采用分布式、容错型、自我修复式的存储系统,可自动最高扩展至 64 TB,无需手动扩展数据库的存储容量。它最高可配置15 个低延迟的Aurora 副本,提高了可用性并支持读取扩展,典型的复制延迟在100 毫秒以下。”

由于ACM的成功,Autodesk考虑将多个其他应用程序也迁移到Aurora,比如EC2上托管的BIM 360 Field Classic的MySQL 数据库。

“Aurora集群包含一个写实例和最高四个 Aurora 副本。Aurora Auto Scaling将会启用以根据 CPU 利用率自动调整 Aurora 副本的数量。”Krishna Kumar表示,“迁移的亮点在于CPU 利用率下降了10倍,从使用MySQL时高达100%的峰值水平降至使用 Amazon Aurora 后不到 10% 的水平,为数据库跟随 ACM 的扩展增长留下了空间。”

据介绍,BIM迁移到Aurora后,数据库的性能超过了预期——应用程序的扩展性提高了20倍,应用程序的响应时间缩短了 2 倍,并且Aurora支持的数据库连接数量增加了7倍。

应该说,借助 Amazon Aurora,ACM 和 BIM 360 Field Classic 应用程序都成功提高了可扩展性,提升了应用程序性能,降低了管理开销,优化了成本。


替换Oracle:低成本和高稳定


与Autodesk ACM不同,日本的在线音乐发行服务商RecoChoku成立于2001年,此前一直运行的数据库系统是结合使用Oracle Database和Oracle Real Application Clusters (RAC)。

对于RecoChoku这样的在线音乐发行服务商来说,尽管它是一家互联网公司,但管理客户信息的会员数据库系统几乎就是RecoChoku的生命线,因此客户信息管理是RecoChoku业务的关键部分,需要具有高可靠性和可用性的系统来支撑,这就是为什么RecoChoku此前一直选择Oracle Database和Oracle RAC的原因。

image.png

时间到了2013年前后,RecoChoku开始使用云解决方案,旨在实现灵活而又具有高扩展性的基础架构,一方面节省成本——与使用Oracle RAC的多个节点相比,Amazon Aurora可以大幅降低数据库软件的许可费用;另一方面,Amazon Aurora的可扩展性和高弹性,也让RecoChoku的服务更容易适应互联网客户不断的需求变化

此外,随着服务数量的增加,每项服务的成本管理同样是个问题。以前是各个系统分别管理的,很难确定哪些基础架构成本是由哪个服务产生的RecoChoku 需要灵活而可靠的服务基础架构解决这些业务挑战。

“AWS的一大优势在于,它能够阐明每个服务使用的基础架构。过去我们需要通过本地解决方案保留一定数量的资源,但在迁移到 AWS 后就不再需要这样。”RecoChoku业务系统推广部系统架构师小组公司Sakai认为,”由于歌曲数目的增加以及视频和高分辨率音频的数据量越来越大,准确预测我们需要管理的数据总量变得很困难。而采用了Aurora之后,我们能够将机器资源的使用减少到本地系统的30%左右。”

Sakai介绍说,RecoChoku公司在经过一番调研后认为,AWS 在服务数量和开发新服务的速度方面远远超出其他服务。于是乎,RecoChoku首先将自己开发和构建的服务基础架构系统迁移到AWS。不过接下来当RecoChoku迁移会员数据库系统的时候,遇到了足够多的挑战。

为了将该系统转换为 AWS,RecoChoku最初考虑的方法有在Amazon EC2上安装Oracle Database或使用 Amazon RDS for Oracle。“我们必须确保高可用性,因此我们希望有一个系统能让AWS处理以前架构所需要的运营和管理。”Sakai解释说,“会员系统管理着大约1000万组用户信息,运行了八年,因此我们需要确保Amazon Aurora上不仅有足够的性能,而且还需要足够稳定。”

据介绍,RecoChoku花了大约一个月时间来调整系统消化 SQL 差异性问题,为的就是平滑过渡、迁移。值得一提的是,RecoChoku在并行运行的测试期后仅花了不到三个月时间,就完成了从Oracle RAC到Amazon Aurora 的迁移。


Aurora是增长最快服务


事实上,Amazon Aurora到目前为止仍然是AWS历史上增长最快的服务——成千上万的客户使用Amazon Aurora作为他们的关系数据库,这一数字在去年增加了约2.5倍;截至2018年8月22日,使用AWS数据库迁移服务已经迁移了87000多个数据库

截至2018年4月,Amazon Aurora的新客户包括ADP、Autodesk、Choice Hotels、TIBCO、Trend、Cloudability、ZipRecruiter、BMLL技术、Beachbody、亚利桑那州立大学、Choku、FirstFuel、Mitel和Wappa等。

image.png

当然,Aurora的用户也包括亚马逊自己。实际上,为了去Oracle,亚马逊把内部的业务也搬迁到了自研的云端数据库Aurora上。

毕竟,亚马逊是一家超大规模的电商,每天处理的交易量是金融级的。于是乎,这一搬迁导致了在PrimeDay促销日的时候,亚马逊业务出现了问题。在亚马逊自己的调查报告中,声称这次故障导致了15000件包裹延迟发货,并浪费了90000美元劳动力成本。

90000美元对于亚马逊这般体量的电商来说,显然是小意思。因为,“云计算不断扩大运营规模的过程,是一个不断踩坑、发现bug的过程”。据悉,亚马逊的长期规划是到2020年之前,完全摆脱Oracle的数据库。在笔者的印象中,这和阿里巴巴的迁移时间表类似。毕竟,将超大规模的金融级业务从有着40年丰富的技术和经验积累的Oracle数据库搬迁出来,不是一件简单的事情。

对于任何一个大的后台系统来说,在架构不犯错的前提下,最重要的就是不断通过业务去打磨,不断踩坑、发现bug,才有可能把系统做得稳定下来。这就是为什么to C的业务迁移成本这么低,而to B的业务迁移成本如此之高的原因——to C的业务是面对一个个端,而to B是面对的整个系统、整个后台。

显然,亚马逊决定用自己的Aurora在自己的核心应用上替换Oracle,可以看出亚马逊、亚马逊AWS对于Aurora的信心有多强,也可以看出Aurora本身有多强

如今,随着AWS在中国的北京区和宁夏区数据中心真正落地,也随着Aurora在中国的落地,AWS的技术优势、生态优势和全球覆盖优势会逐渐凸显出来。

无论是阿里云、腾讯云、微软Azure,还是AWS、华为云这众多云计算领域的巨头在中国逐鹿中原,对于中国的客户来说,都是再好不过的事情,不是吗?

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
NoSQL 大数据 MongoDB
云中对决:Amazon DocumentDB 与 MongoDB的终极较量,谁将主宰云端数据库的未来?
【8月更文挑战第8天】在云计算与大数据时代,文档数据库因灵活高效备受开发者青睐。本文作为指南,全面对比Amazon DocumentDB与MongoDB。DocumentDB兼容MongoDB,便于迁移;在AWS环境下,它提供卓越的性能与自动伸缩能力。MongoDB则侧重于自定义部署与成本控制。DocumentDB作为托管服务简化管理但成本较高,而MongoDB需自行处理安全性与备份。根据需求与预算,开发者可作出最佳选择。
67 3
|
7月前
|
存储 关系型数据库 数据库
在进行RDS(Amazon Relational Database Service,亚马逊关系数据库服务)迁移时,兼容性审查
在进行RDS(Amazon Relational Database Service,亚马逊关系数据库服务)迁移时,兼容性审查
83 1
|
存储 NoSQL Oracle
「数据库选型」卫报从MongoDB迁移到Amazon RDS上的PostgreSQL
「数据库选型」卫报从MongoDB迁移到Amazon RDS上的PostgreSQL
|
存储 监控 Cloud Native
云原生数据库-Amazon RDS
云原生数据库-Amazon RDS
176 0
云原生数据库-Amazon RDS
|
存储 关系型数据库 MySQL
数据库的新选择 Amazon Aurora(下)
文章目录 Amazon Aurora 云计算时代 关系型数据库如何实现进化? Amazon Aurora 是 MySQL 的五倍性能 细看PolarDB PolarDB 与 Aurora 设计理念如出一辙 PolarDB 性能真的比 Aurora 高吗? 数据库的重新构想 卸载REDO日志:日志即数据库
165 0
数据库的新选择 Amazon Aurora(下)
|
存储 SQL 关系型数据库
数据库的新选择 Amazon Aurora(中)
文章目录 Amazon Aurora 云计算时代 关系型数据库如何实现进化? Amazon Aurora 是 MySQL 的五倍性能 细看PolarDB PolarDB 与 Aurora 设计理念如出一辙 PolarDB 性能真的比 Aurora 高吗? 数据库的重新构想 卸载REDO日志:日志即数据库
222 0
数据库的新选择 Amazon Aurora(中)
|
存储 SQL NoSQL
数据库的新选择 Amazon Aurora(上)
文章目录 Amazon Aurora 云计算时代 关系型数据库如何实现进化? Amazon Aurora 是 MySQL 的五倍性能 细看PolarDB PolarDB 与 Aurora 设计理念如出一辙 PolarDB 性能真的比 Aurora 高吗? 数据库的重新构想 卸载REDO日志:日志即数据库
490 0
数据库的新选择 Amazon Aurora(上)
|
18天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
32 1
|
20天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
35 4
|
27天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
150 1