一、开篇语

1.1 传统数据库的压力日益倍增

在这里插入图片描述
    随着全球网民的持续增长,数据库的压力已越来越成为一个企业的瓶颈。在业务和用户量的的持续增长下,如何保证数据库的安全性、稳定性、可用性?
    国内的市场竞争激烈,往往提出一个idea,就会有无数人跟进。如何在极短时间内提供一个具备完整功能的数据库,同时能够降低企业经营成本,提高生产效率?
    传统数据库面临着:新建成本高昂、操作配置复杂、没有可视界面、对技术人员要求极高,如何解决这些痛点?
    随着“云时代”的到来,这些问题有望解决。
    云数据库简称RDS,它的优化和部署都在云端完成,具有简单方便、稳定可靠、弹性伸缩、便捷管理等特点。同时,云数据库一般具有:读写分离、主从复制、故障切换、数据备份、按需扩容等功能。我们来看看它与传统数据库相比存在哪些优势吧!

1.2 云数据库 vs 传统数据库

云数据库传统数据库
安全性

防DDos攻击、流量清洗、及时修复各种数据库安全漏洞。

自行购买一些安全的软硬件、依靠运维人员技术能力、开发人员行为规范规避。

可用性

云数据库一般提供主备双节点,同时双节点可以在同一个地域的不同时区。跨地域的主备能够提供更大的可用性!
生成的数据库为高可用架构,可用性高达99.9999%。
一般云服务提供商提供自动备份功能。

一般部署在本地机房,大多为同机房的多机器之间的主从备份。如果电缆被挖、突然停电、天灾人祸等,容易造成不可估量损失;依靠公司技术人员,自行搭建主备复制、监控、RAID等,高可用性参差不齐;

效率性

直接选择节点,数据库类型,在几分钟内即可拥有一个具备完整能力的高可用数据库,可以认为是0运维;

依靠高级运维人员、Devops、开发人员、DBA等协作,手动配置,中间众多环节需要依靠技术人员的能力和经验来规避风险。耗时较为漫长。
操作性

对于开发人员,跟本地数据库一样操作,无感知;对于运维人员来说,能够直接在云服务提供商的控制台上便捷操作,简单快捷。

对于运维人员来说,需要自行配置一些快捷脚本,或者自行搭建操作系统。


资源利用率

按照实际所需购买,能够达到近100% 的资源利用率。
如果后续需要扩容,能够很方便的在控制台中选择扩容的大小。

采购环节繁琐,流程缓慢,不能实时扩容。
资源一般比实际需要要来的多,因为如果设置少了,扩容很麻烦。
同时业务也有高峰低峰期,在低峰期资源闲置造成浪费。

花费成本

1. 从硬件上来说,根据所需选择合适的容量,能够方便快捷扩容;
2. 从软件上来说,云服务商提供了业界主流解决方案,能够方便快捷的各种操作;不需要重新开发。
3. 从维护上来说,基本不需要运维;

需要购买服务器、托管机房、聘用专业的技术人员。需要耗费大量的硬件成本、软件成本(比如使用SQL Server就需要支付许可证费用)、人力成本、时间成本。

二、选择云数据库

2.1 走进Amazon RDS

    由于数据库的重要性不言而喻,笔者研究各大云服务提供商的RDS,进行了一番深度体验之后,最终选择了介绍它: Amazon RDS!
    Amazon是什么?它是美国最大的电子商务平台,是最早开始经营电子商务的公司之一。像国内有双十一购物节,Amazon在圣诞至元旦期间也会有促销活动。在活动期间需要大量的用户资源,而在平时又会闲置下来。为了提高硬件资源的利用率,于是想到了将它们“租”出去。正是这一举动,诞生了最早的云服务提供商之一。
    背靠强大的技术能力、丰富的实战经验。如今,目前Amazon已成为最大的云服务提供商,据研究报告显示,截止2021年底,亚马逊全球云计算IaaS市场份额高达47.4%,相当于整个市场的”半壁江山“。
在这里插入图片描述

2.2 Amazon RDS 有哪些特点和优势所在?

Amazon RDS是一项托管关系数据库服务,支持六种常见数据库引擎选项,包括Amazon Aurora、MySQL、MariaDB、Oracle、Microsoft SQL Server和PostgreSQL,接下来我们来看它的产品特点。

  • 降低维护成本:
    • 使用简单:利用AWS管理控制台、Amazon RDS命令行界面或者简单的API调用就可以自动生成所需类型的数据库,同时会自动配置合适的参数和设置集,能够在几分钟内即可连接并进行精细控制和微调;
    • 自动软件修补:安装的软件会同时安装最新的修补程序,保持最新状态。同时可以自行设置是否修补数据库实例以及修补时间。(比如说出现了什么漏洞,不需要咱们手动更新,就会自动安装补丁)
    • 最佳实践建议:Amazon RDS可以分析数据库实例中的配置和使用率指标,从而提供最佳的实践指导,用户可以浏览提供的建议并根据自己所需进行选择执行。
  • 提供多种存储类型:
    • 通用型(SSD)存储:Amazon RDS 通用型存储是SSD型存储选项。是最常用的数据库存储类型。
    • 预置了IOPS存储:能够提供快速、可预测和一致的I/O性能。这种类型专为I/O密集型事务(OLTP)数据库工作负载进行了优化。用户可以在创建数据库实例时指定IOPS速率。
  • 可扩展性强:
    • 支持一键式计算扩展:能够将部署的计算和内存资源最大扩展到32个vCPU 和 244 GiB RAM。计算扩展操作一般在几分钟内即可完成;
    • 轻松扩展存储:通过MySQL、MariaDB、Oracle 和 PostgreSQL 引擎,支持扩展多达64TB存储,SQL Server则最多支持16TB。存储扩展可随时完成,且不会产生任何停机时间。
  • Amazon RDS 提供了自动化无差别全脱管服务,比起个人处理需要各种繁复的工作、高额的成本、以及工作时间的限制,Amazon 提供了7*24 小时的自动处理,仅仅只需要小鼠标一点即可。如下为它与传统数据库的比较:
传统数据库Amazon RDS
模式设计个人处理个人处理
查询构建个人处理个人处理
查询优化个人处理个人处理
自动故障恢复个人处理Amazon 自动化
备份还原个人处理Amazon 自动化
隔离与安全个人处理Amazon 自动化
行业合规个人处理Amazon 自动化
一键扩展个人处理Amazon 自动化
自动修补个人处理Amazon 自动化
高级监控个人处理Amazon 自动化
日常维护个人处理Amazon 自动化
内置最佳实践个人处理Amazon 自动化
  • 使用Amazon RDS能够帮助我们处理日常的大部分功能,而我们只需要关注去设计数据库的内容、怎么根据实际业务查询数据库。这样能够让企业能够节约更多的精力用在商业模式的创新上面。

2.3 可供参考的资料

了解到它的特点之后,我们可以来实际的上手测试它的效果;以下是博主搜集到的学习资料和活动:

同学们在使用的时候,注意选择免费套餐。使用集群可能会产生费用先清楚再玩集群,出现计费情况可及时联系亚马逊客服帮忙抵消;接下来,我将实际使用Amazon RDS 来实战测试效果。

三、实战测试Amazon RDS

3.1 注册流程演示

  1. 首先登陆官网,选择创建AWS账户按钮:
    在这里插入图片描述
  2. 填入你的邮箱、AWS账户名称(随便填,后面可以修改),然后点击验证电子邮件地址
    在这里插入图片描述
  3. 找到你邮箱收到的验证码,然后填入后进行创建密码阶段。
    在这里插入图片描述
  4. 接下来,填入补充信息。
    在这里插入图片描述
  5. 到了最关键的一步,补全信用卡/借记号信息;
    在这里插入图片描述
  6. 验证手机号,输入验证码;
    在这里插入图片描述
  7. 验证完成后即注册成功,如图所示:
    在这里插入图片描述

3.2 安装MySQL流程演示

  1. 还是登录官网,然后点击登录控制台按钮:
    在这里插入图片描述
  2. 接着输入咱们注册流程中填入的邮件地址和根密码,登录成功后展示如下界面:

在这里插入图片描述
3. 点击AWS右上角菜单,依次选择服务 -> 数据库 -> RDS
在这里插入图片描述
4. 进入RDS页面后,选择创建数据库按钮:
在这里插入图片描述
5. 由于博主日常使用MySQL较多,我们以MySQL创建示例。先选择MySQL,然后选择实例类型,写入实例标识、主用户名信息,最后填入密码(生产环境可以选择自动生成密码,这样能够保证安全性),点击创建数据库

在这里插入图片描述

其中生产环境与开发环境不同在于:多可用区部署(生产环境需要容灾)、预置IOPS存储作为默认值(综合性能更优秀)。
免费套餐就是白嫖的,真香~

  1. 创建完成后,会进入 Amazon RDS 中的数据库控制台页面,我们可以看到咱们的MySQL 正在自动创建:
    在这里插入图片描述

Amazon RDS 创建的时候,会连带着将监控、备份等各种功能一应配好。安装完成后,会显示为可用状态;

  1. 点击实例名称,能够查看实例的状态和各种监控信息,如图所示。在这里插入图片描述> 走到这一步,说明安装数据库工作已经成功了。接下来,我们一起进入连接MySQL 的流程环节中;

3.3 配置安全组流程演示

默认的安全组不能在外网访问,所以为了能够在外网访问到咱们的MySQL,所以需要配置一个安全组;

  1. 我们可以通过菜单栏来查找,不过最简单的方式可以直接从输入框搜索EC2,如图所示选择第一个进入:

在这里插入图片描述
2. 选择网络与安全,点击安全组,然后选择创建安全组:
在这里插入图片描述
3. 配置安全组规则。由于我们是测试使用,为了测试方便,可以直接先设置为所有流量
在这里插入图片描述

也可以配置指定的ip地址,它的出入站规则支持的协议非常丰富,后续可以去慢慢了解。

  1. 点击创建后,显示如下表示创建成功:
    在这里插入图片描述

创建成功后,我们接下来就进行连接数据库的实战操作吧!

3.4 连接数据库流程演示

连接数据库的流程跟我们平时大同小异,博主此次演示MySQL 的连接流程,同学们可以参照对比来看。

  1. 在搜索栏中搜索RDS,进入后找到数据库实例,然后点击我们前面创建的数据库。
    在这里插入图片描述
  2. 点击数据库实例标识名称,查看数据库信息。其中终端节点是我们访问数据库的host。同时可以看到公开可用性为否,说明目前外网还无法访问,接下来进行修改配置。
    在这里插入图片描述
  3. 点击窗口的修改,将公开可用性设置为公开访问,同时修改安全组为刚才创建的internet-sale-group-anyu,再点立即应用,最后点修改数据库实例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 使用日常的mysql 连接工具,博主以Navicat为例。输入host、端口号及密码:
    在这里插入图片描述
  5. 点击连接测试,显示如图界面说明连接成功:

在这里插入图片描述
6. 连接上去之后,可以看到界面跟我们平时建的mysql 一样,操作均一样:
在这里插入图片描述

3.5 可供参考的资料

  • 博主提供了MySQL的实战案例,官方也提供了非常丰富的教程。
  • Amazon RDS 官方用户指南: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html
    • 创建MariaDB: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MariaDB.html
    • 创建SQL Server: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.SQLServer.html
    • 创建MySQL:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html
    • 创建Oracle:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html
    • 创建PostgreSQL:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html
    • 创建Web服务器和Amazon RDS:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/TUT_WebAppWithRDS.html
    • MySQL数据导入指南:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html
  • 概述与功能:https://aws.amazon.com/cn/rds/
  • 文档:https://docs.aws.amazon.com/rds/index.html

四、最后总结

  • 之前所在公司,博主既是又当运维又当开发。实战测试了Amazon RDS,真的是感触良多,测试过程中总结了有这几点:
    • 丰富的数据库类型。业界使用广泛的数据库种类都支持搭建。同时自研了Amazon Aurora,它是一款兼容MySQL和PostgreSQL的一种增强型关系型数据库。(不得不说亚马逊是真的强啊~)
    • 自动化的创建方式。通过标准创建/轻松创建两种类型,满足不同群体创建数据库需求;同时创建时能够配置好我们所需要的配套设施(如监控系统、备份功能等)。
    • 便捷的操作界面。可以通过菜单栏,也可以搜索框进入。在RDS控制台中,可以通过按钮进行修改/删除/重启/停止/创建副本/创建快照等等功能。以前需要自己手动创建的功能,现在只需要点点点啦~
    • 完善的配套功能。安装完成后就可以看到监控、日志和事件、配置、维护和备份等众多功能。比如监控就非常详细,它支持时间范围筛选、不同实例之间的比较,还有各种不同的监控种类等。
    • 超低的学习门槛。从注册到使用,每一步写的很详细,同时教程和文档非常全面,还可以专家帮你解答。
  • 回到主题,随着云服务日益深入,我们需要顺势而上。很多同学说,我没有使用过云服务呀,为什么一定得要它?实际上,它已经深入到咱们生活中的方方面面。当我们换手机的时候,以前的电话、短信、相片等信息可以通过云服务从一台手机同步到另外一台手机。不需要购买电脑,只需要用自己手机的流量,就可以拥有一台云电脑。不需要安装,只需要流量就可以在线玩的云游戏。
  • 以上是生活中的例子,当然从SaaS、PaaS、IaaS上来说,也有非常多的云服务产品可供我们使用,云服务已经进入到我们的方方面面了。
    在这里插入图片描述
  • PaaS下的Amazon RDS, 正引领着新一代的数据库解决方案。顺应时代,逐浪前行,2022年,让你的数据库与Amazon RDS一起上云吧!
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐