【视频】-RDS-云关系行数据库的解析与实践|学习笔记(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 快速学习【视频】-RDS-云关系行数据库的解析与实践

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

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


【视频】-RDS-云关系行数据库的解析与实践


3.RDS 功能概览

image.png(1)基础管理与监控

①实例管理

②库/账号管理

③连接数据库

④参数管理

参数的调整是相对复杂的, 而RDS 中的各种参数模板可以解决这个问题。

⑤监控管理

⑥安全管理

⑦可用性管理

(2)访问与存储

①访问方式

②数据库代理

③存储类型

④存储引擎

⑤读写分离

(3)备份与恢复(主要使用 DBS )

①备份方式

②全量/增量

③自动/手动

④数据库恢复

⑤库表级备份/恢复

⑥跨地域备份/恢复

(4)数据迁移(主要使用 DTS )

①数据迁入

②数据迁出

 

二、RDS 的架构原理

1. RDS 架构解析

(1)下图是 RDS 的整体访问架构:

image.png

可以看到,从访问的角度看,前台业务一般在 ECS 中部署,然后 ECS 通过一个地址去(和传统数据库不同的是,为了保证数据的安全,RDS 访问时对外开放的地址只是一个 url 地址,当业务访问 url 地址时,会解析到一个负载均衡 SLB 上,然后通过 SLB 转到主实例上或者备实例上)访问数据库。如果用户开通了数据库代理,可以得到一个读写分离的地址,代理的写流量可以直接到达主实例或者备实例,读流量可以直接到达只读实例。其中实例里数据备份和日志备份存储在 OSS 中,然后生成新实例,基于新实例去找到需要恢复的数据,并将它们恢复。

(2)下图是 RDS 的底层系统架构:

image.png

可以看到,用户通过 url 解析 DNS 到防火墙,再由防火墙转到后端控制系统,当需要创建或删除实例时,会先到任务调度系统里,触发数据迁移和备份之后,再返回到集群里进行相应操作,如果用户重新创建实例,需要先到 API ,然后发送给任务调度系统,系统接受指令后创建 RDS ,再将 RDS 创建的指令返回给集群,集群会重新生成一个 RDS ,然后将信息返回给用户,最后用户根据 url 地址做相应的连接。

(3)RDS 主从切换原理

RDS 高可用版本采用主备架构,具备高可用性

①高可用控制系统主要负责所有数据库实例主备之间的健康检查以及实时切换,以保证数据库高可用性达别99.95%;

②3秒轮循一次,实例轮询井发进行,当发现有节点不健康时,需要完成秒级切换;

③高可用控制系统是作为第三方身份去判断数据库实例是否在正常运行,不会出现脑裂现象;

④可模拟应用去做更新,这样对故障点的判断更为准确;

⑤高可用系统集群本身也是一个高可用的环境,集群内所有节点相互检查和任务接管。

如图:

image.png

当主备服务器发生切换时,首先需要 HA 系统做一个轮循,为了避免传统模式可能出现的脑裂现象,高可用控制系统是作为第三方身份先进行轮循,判断数据库实例是否在正常运行,若发现主实例无法正常运行, HA 将发送信号给任务调度系统,以告知 LVS 需要进行主从切换,即把主实例切换到备实例,这样就不会出现脑裂现象。

2. RDS 核心技术解析

(1)RDS 自研内核-AliSQL 简介

AliSQL 是阿里云深度定制的独立 MySQL 分支,除了社区版的所有功能外,AliSQL 提供了类似于  MySQL 企业版的诸多功能,如企业级备份恢复、线程池等。RDS MySQL 使用 AliSQL 内核,为用户提供了 MySQL 所有的功能,同时提供了企业级的安全、备份、恢复、监控、性能优化、只读实例等高级特性。

如图:

image.png可以看到,在通用基准测试场景下, AliSQL 版本比 MySQL 官方版本有着70%的性能提升。在秒杀场景下,性能提升100倍。

(2)AliSQL 增强 Feature 类别介绍

image.png①功能增强型如:

Thread Pool

Statement Outline

Sequence Engine

Returning

Lizard事务系统

②性能增强型如:

Fast Query Cache

Binlog in Redo

Statement Queue

Inventory Hint

③稳定性增强型如:

Faster DDL

Statement Concurrency

ControlPerformance Agent

Purge Large File Asynchronously

Performance Insight

④安全增强型如:

Recycle Bin

关于AliSQL的详细信息请参考:

http://help.aliyun.com/document_detail/129925.html

文档中很多信息都是详细的,例如RDS My SQL 数据库中有阿里内核,可以看到功能概览等等,而且help中可以进行检索,如在使用My SQL中遇到一些问题,也有最佳实践进行参考。

 

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 存储 Cloud Native
PolarDB-X 2.0 核心技术能力解读
希望通过本系列课程,让大家更深入了解PolarDB-X 2.0 核心技术能力,加深对PolarDB-X的理解与认识,最终可以实践到大家的工作当中。
1030 0
PolarDB-X 2.0 核心技术能力解读
|
存储 SQL 弹性计算
阿里云关系型数据库RDS存储类型区别(ESSD云盘、本地SSD盘和SSD云盘)
阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。云数据库RDS提供三种数据存储类型:ESSD云盘、本地SSD盘和SSD云盘,本文介绍三种存储类型的区别及选购建议。
1632 0
阿里云关系型数据库RDS存储类型区别(ESSD云盘、本地SSD盘和SSD云盘)
|
12月前
|
存储 UED
「Mac畅玩鸿蒙与硬件33」UI互动应用篇10 - 数字猜谜游戏
本篇将带你实现一个简单的数字猜谜游戏。用户输入一个数字,应用会判断是否接近目标数字,并提供提示“高一点”或“低一点”,直到用户猜中目标数字。这个小游戏结合状态管理和用户交互,是一个入门级的互动应用示例。
269 7
「Mac畅玩鸿蒙与硬件33」UI互动应用篇10 - 数字猜谜游戏
|
11月前
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
287 20
|
11月前
|
传感器 自动驾驶 算法
《C++:自动驾驶车辆环境感知与决策控制的核心引擎》
在自动驾驶领域,C++凭借其卓越的性能和高效的资源管理,成为实现环境感知和决策控制的关键技术。C++能够高效处理激光雷达、摄像头、毫米波雷达等传感器数据,快速生成精准的环境模型。在决策控制方面,C++支持高效的路径规划、速度控制和紧急应对策略,确保车辆在复杂环境中安全、高效地行驶。C++的实时性和可靠性使其成为自动驾驶技术的重要支柱,推动未来交通的创新与变革。
218 20
|
11月前
|
搜索推荐 数据挖掘
精益拓客:CRM系统的成本效益之道
在当今竞争激烈的商业环境中,企业越来越重视如何以更低的成本获取新客户。CRM(客户关系管理)系统通过自动化和流程优化、提升销售效率、增强客户满意度、优化市场营销活动、提高客户保留率及利用数据分析策略,显著降低了企业的拓客成本,助力企业在市场中获得优势。
|
缓存 Kubernetes Java
阿里云 SAE Web:百毫秒高弹性的实时事件中心的架构和挑战
SAE 事件中心通过智能诊断显示通知与用户连接起来,SAE WEB 百毫秒弹性实例给事件中心带来了新的实时性、海量数据和高吞吐的挑战,本篇将带您了解 SAE 整体事件中心的架构和挑战。
442 10
|
人工智能 弹性计算 资源调度
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第1天——一、阿里云整体架构
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第1天——一、阿里云整体架构
|
弹性计算 负载均衡 关系型数据库
《阿里云认证的解析与实战-云计算ACP认证》——前言——一、课程介绍
《阿里云认证的解析与实战-云计算ACP认证》——前言——一、课程介绍
|
云安全 弹性计算 负载均衡
《阿里云认证的解析与实战-云计算ACP认证》——前言——二、云计算认证体系介绍
《阿里云认证的解析与实战-云计算ACP认证》——前言——二、云计算认证体系介绍