RDS-云关系行数据库的解析与实践|学习笔记(三)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速学习RDS-云关系行数据库的解析与实践

开发者学堂课程【关系型数据库 ACP 认证课程:RDS-云关系行数据库的解析与实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/927/detail/14628


RDS-云关系行数据库的解析与实践


三、RDS 的基本管理

(1)实例管理

即创建/删除/变配数据库的过程,包含:

①计费方式

②类型

③实例规格

有入门级和企业级等不同规格,其中入门级的配置比企业级的更低

④网络类型

⑤地域/可用区

由于高可用版本有主从两个节点,所以需要选择主可用区

⑥系列

⑦存储类型

⑧存储引擎


(2)库/账号管理

 由于 RDS 拥有自身的数据库及数据库账号管理体系,使得用户无法直接使用命令进行数据库创建。

 用户可以通过 RDS 管理控制台创建数据库,且数据库名称实例内唯一,实例间互不影响。

如图:

image.png

 对于 MySQL 实例,最多可创建500个数据库

 数据库账号管理可用于创建新的数据库账号,或者修改已有数据库账号的信息。

 RDS MySQL 实例支持两种数据库账号:高权限账号和普通账号,其中普通账号只有读权限和写权限,而高权账号虽然有创建普通账号和给普通账号赋权等权限,但是并不等于 ROOT 账号,但足以满足各种需求。

如图:

image.png

 对于 MySQL 实例,每个实例最多可创建500个数据库账号

 账号创建后,若账号类型无法切换,可以删除账号后重新创建同名账号


(3)如何连接 RDS 数据库

image.png

首先给一个 url 地址,把原来地址替换成 url ,然后进行以下步骤:

①确认是否满足内网访问的条件:

ECS 实例与 RDS 实例位于同一地域

ECS 实例与 RDS 实例的网络类型相同

②设置IP白名单(只有在白名单里的才能被放在 RDS 中):

通用白名单模式

高安全白名单模式

③连接 RDS 实例:可以通过原生命令行、第三方工具、程序编码、 DMS 等连接


(4)参数管理

 RDS MySQL 为了保障服务可用性,没有开放部分重要参数,但为了满足不同的业务场景需求(如追求更高性能),RDS MySQL 提供各类系统参数模板,可以创建自定义参数模板,根据自己的业务场景,实现批量参数设置。

如图:

image.png

可以看到,上图包括可修改参数、参数修改历史、模板等可供选择,其中参数的修改包括修改参数的默认值、运行参数值、是否重启、参数值范围、参数描述等。


(5)监控管理

image.png

通过 RDS 可以直观的看到 CPU 和内存的监控情况,通过监控可以看到当前存在的问题,比如磁盘空间不足和 CPU 使用率过高等情况,其中如果 CPU 使用率过高完全是由于业务引起的,可以通过架构、实例规格升配去做实例的升级或者开启只读实例做读写分离等方式解决。


(6)安全管理

RDS 的安全管理主要分为三部分:

image.png

①事前

事前通过设置白名单(只要设置了白名单的 ECS 没有出错,就不会发生安全问题)和绑定 VRC来控制访问源

②事中

事中通过链路 SSL 和 TDE 来加密措施开启数据落盘加密,加密后,数据存在云盘并已加密,即前面提及的密钥管理,由于有加解密的操作,开启加密后效率会降低,以上操作对用户透明。

③事后

事后进行操作审计和数据库审计措施,其中数据库审计措施是指将数据库的操作记录下来,而在控制台对 RDS 做备份处理等操作是可以开启操作审计的。而业务层本身对数据的读写数据库的审计是由第二数据库来做的。


(7)可用性管理

image.png

①数据库 RDS 支持高可用切换功能。

②当主实例不可用时,会自动触发主备切换,将主实例和备实例进行互换,保障实例的高可用性。

③此外,您还可以手动切换主备实例。

主库和备库可以选择多可用区,多可用区的目的,可用区是有独立网络电力的数据中心,而且可用区与可用区之间有一个间隔,多可用区的作用是进行跨区级别容灾,避免意外发生。


四、RDS 的访问与存储


1.访问方式

如图:

image.png

ECS 先访问到 DNS 解析,再由一个地址访问 SLB ,然后到 RDS 运行,中间的代理过程可以省去,如果开启代理,则由代理转发至 RDS ,代理可以解决切换时的闪断问题。


2.数据库代理

RDS 数据库代理是位于数据库服务端和应用服务端之间的网络代理服务,用于代理应用服务端访问数据库时的所有请求,具有高可用、高性能、可运维、简单易用等特点,同时提供自动读写分离、事务拆分、连接池等高级功能。


(1)代理有两种类型:

①共享代理:共享/争抢代理资源、不支持高级特性,所以已下线

已经下线,大家共享在一个池子中,会有资源争抢的情况效果不是很好,在有些高并发场景对数据库压力比较大时性能不好,所以不支持高级特性。

②独享代理:更好的稳定性、更好的隔离性、更好的性能、收费功能

如图是独享代理的一个开启页面:

image.png


3.存储类型

image.png


(1)本地 SSD 盘:

在 I/O 性能方面,I/O 延迟低,性能好。在规格变配灵活性方面,可选配置较多,存储容量也可单独调整。在弹性扩展能力方面,需要拷贝数据,可能需要几个小时。


(2)SSD 云盘:

在 I/O 性能方面,有额外的网络 I/O ,性能相对较差。在规格变配灵活性方面,可选配置较多,存储容量也可单独调整,在弹性扩展能力方面,分钟级。


(3)ESSD 云盘(推荐):

在 I/O 性能方面,相对 SSD 云盘有大幅度提升,最高能达到百万级别。在规格变配灵活性方面,可选配置较多,存储容量也可单独调整。在弹性扩展能力方面,分钟级。

在数据库而言推荐使用 ESSD 云盘以为ESSD 云盘 I/O 最高能达到百万级别,可选的配置比较多,容量也可以单独调整,同时性能上有很大的提升。


 4.存储引擎

image.png

 RDS for MySQL 提供了多种存储引擎,其中  InnoDB 最为常用

 阿里云强烈推荐使用 InnoDB 存储引擎,不仅因为其具备更好的性能,而且由于 InnoDB 其自身良好的设计,能够更有效避免数据表损坏情况的发生。


(1)InnoDB 是 MySQL 的默认存储引擎,它提供了高可靠性和高性能,并具有以下主要优点:

①事务安全性(符合 ACID )

②MVCC(多版本并发控制)

③InnoDB 行级锁

④一致性非锁定读

⑤支持外键引用完整性约束

⑥大数据处理与优化

⑦支持不同存储引擎表的混合查询

⑧崩溃恢复

MySQL最常用的引擎为InnoDB阿里云也推荐使用InnoDB引擎,因为InnoDB引擎不仅性能好,设计很好避免数据表损坏的发生。


 5.实例类型


(1)只读实例

 在对数据库有少量写请求,但有大量读请求的应用场景下(如淘宝业务),单个实例可能无法承受读取压力,甚至对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压力,您可以创建一个或多个只读实例,利用只读实例满足大量的费数教据库读取需求,增加应用的吞吐量。

如图:

image.png

 只读实例采用 MyQL 的原生复制功能,将源数据库实例(以下简称主实例)的更改同步到所有相关的只读节点。根据 MySQL 内存大小:内存>=64GB 最多可建10个只读实例,内存<64G8最多可自5个只实例即不同数据库可以创建的只读实例的数量不同,只读节点采用单个物理节点的架构,只读节点 down 机后,阿里云承诺将在24小时内恢复。


(2)异地灾备实例

①对于数据可靠性有强需求的业务场景或是有监管需求的金融业务场景,RDS 提供异地灾备实例,帮助用户提升数据可靠性。

②RDS 通过数据传输服务(DTS)实现主实例和异地灾备实例之间的实时同步。

③主实例和灾备实例均搭建主备高可用架构,当主实例所在区域发生突发性自然灾害等状况,主实例和备实例均无法连接时,可将异地灾备实例切换为主实例,在应用端修改数据库连接地址后,即可快速恢复应用的业务访问。

④灾备实例可通过 DTS 管理控制台实现同步对象变更、同步速度设置、延迟报警等同步链路原生功能。

灾备实例还有以下功能特点:

①提供独立的数据库连接地址,由用户应用端自助控制连接。

②使用主备高可用架构。

③按量付费,即开即用、即停即止。

④提供独立的白名单配置、账号管理。

如图:

image.png

可以做异地容灾,在可用区,地域 A 和 B 都选用了主备高可用架构,它们之间通过 DTS 进行同步。 


(3)只读实例、主备实例和灾备实例三者之间的关系

①只读实例和主备实例在同一地域,可以在不同可用区;备实例和主实例在同一个地域;灾备实例和主备实列在不同地或。

②只读实例可以根据需要创建最多10个;备实例数量是固定的1~2个,高可用版1个,三节点企业版(原金融版)2个;灾备实例是不同地域的一主一备。

③只读实例创建并设置读权重后就会持续提供服务;备实例和灾备实例在主实例正常运行时都不会提供服务。

详情可见下图:

image.png


4分析实例

 RDS MySQL 提供分析实例功能,可以将 RDS MySQL 主实例中的数据自动同步到 MySQL 分析实例中,解决 RDS MySQL 复杂分析查询卡顿问题,实现毫秒级针对万亿级数据进行即时的多维分析透视和业务探索。

如图:

image.png


五、操作演示


1.购买 RDS

image.png

购买 RDS 计费方式可以选择包年包月或者按量付费,然后选择地域如杭州,类型如 MySQLPolarDB、 SQLServer ,如选择 MySQL5.7,系列如基础版(基础版没有 SLA 所以推荐使用高可用版或三节点企业版)选项。

2.创建数据库

3.创建账号

4.使用 DMS 登录 RDS MySQL

5.创建表

6.参数演示

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
14天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
2月前
|
SQL 关系型数据库 数据库
数据库空间之谜:彻底解决RDS for SQL Server的空间难题
【8月更文挑战第16天】在管理阿里云RDS for SQL Server时,合理排查与解决空间问题是确保数据库性能稳定的关键。常见问题包括数据文件增长、日志文件膨胀及索引碎片累积。利用SQL Server的动态管理视图(DMV)可有效监测文件使用情况、日志空间及索引碎片化程度。例如,使用`sp_spaceused`检查文件使用量,`sys.dm_db_log_space_usage`监控日志空间,`sys.dm_db_index_physical_stats`识别索引碎片。同时,合理的备份策略和文件组设置也有助于优化空间使用,确保数据库高效运行。
54 2
|
2月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
60 0
|
2月前
|
开发工具 数据安全/隐私保护 索引
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
LDAP学习笔记之二:389-DS(RHDS) 增删改查基本操作
|
5月前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
141 10
|
5月前
|
关系型数据库 MySQL 数据库
rds安装数据库客户端工具
安装阿里云RDS的数据库客户端涉及在本地安装对应类型(如MySQL、PostgreSQL)的客户端工具。对于MySQL,可选择MySQL Command-Line Client或图形化工具如Navicat,安装后输入RDS实例的连接参数进行连接。对于PostgreSQL,可以使用`psql`命令行工具或图形化客户端如PgAdmin。首先从阿里云控制台获取连接信息,然后按照官方文档安装客户端,最后配置客户端连接以确保遵循安全指引。
306 1
|
5月前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
281 6
|
2月前
|
关系型数据库 数据库 数据安全/隐私保护
"告别繁琐!Python大神揭秘:如何一键定制阿里云RDS备份策略,让数据安全与效率并肩飞,轻松玩转云端数据库!"
【8月更文挑战第14天】在云计算时代,数据库安全至关重要。阿里云RDS提供自动备份,但标准策略难以适应所有场景。传统手动备份灵活性差、管理成本高且恢复效率低。本文对比手动备份,介绍使用Python自定义阿里云RDS备份策略的方法,实现动态调整备份频率、集中管理和智能决策,提升备份效率与数据安全性。示例代码演示如何创建自动备份任务。通过自动化与智能化备份管理,支持企业数字化转型。
47 2
|
3月前
|
消息中间件 关系型数据库 数据库
实时计算 Flink版操作报错合集之在使用RDS数据库作为源端,遇到只能同步21个任务,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。

热门文章

最新文章

推荐镜像

更多