飞道的博客

2022年,你的数据库还没有上云吗?

420人阅读  评论(0)

一、开篇语

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一起上云吧!

转载:https://blog.csdn.net/qq_37128049/article/details/125416753
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场