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

简介: 快速学习【视频】-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 
相关文章
|
关系型数据库 MySQL 分布式数据库
你常听说的WAL到底是什么
你常听说的WAL到底是什么
1258 2
|
7月前
|
人工智能 弹性计算 自然语言处理
跨境物流外包后的“管”与“不管”:基于OpenClaw RPA与GEO技术的数字化协同实践
在跨境电商与全球贸易的浪潮下,物流外包已成为企业降低运营成本、提升交付效率的战略选择。然而,许多卖家在将物流业务交付给货运代理(Freight Forwarder)后,往往面临“放手即失控”或“插手反...
|
9月前
|
SQL 关系型数据库 数据库
阿里云RDS数据库介绍:产品功能、实例规格、收费标准餐参考
阿里云RDS是企业级云端数据库服务,支持MySQL、SQL Server、PostgreSQL等主流引擎,以高可用性、弹性扩展、安全防护及智能化管理为核心优势。提供倚天版、Serverless实例等规格,适配高性能计算与负载波动场景。功能涵盖全密态加密、自动扩缩容、集群高可用架构及自治运维服务。计费模式灵活,包括包年包月、按量付费、Serverless等,结合优惠活动降低企业成本。
|
Prometheus 监控 Cloud Native
Prometheus 安全性与数据隐私
【8月更文第29天】Prometheus 是一个开源的监控系统,广泛应用于各种规模的企业中。随着 Prometheus 的普及,确保其安全性变得尤为重要。本文将详细探讨如何确保 Prometheus 服务器的安全性,包括认证、授权、加密通信等方面的措施,并提供相应的配置示例。
1187 2
|
人工智能 前端开发 程序员
通义灵码 AI 程序员全面上线,能和人类协作完成复杂开发任务
1 月 8 日消息,阿里云通义灵码 AI 程序员已全面上线,成为全球首个同时支持 VS Code、JetBrains IDEs 开发工具的 AI 程序员产品。此次上线的 AI 程序员相比传统 AI 辅助编程工具,能力更全面,可以让开发者以更高效、更沉浸的方式完成编码任务,通过全程对话协作的方式,就能完成从 0 到 1 的业务需求开发、问题修复、单元测试批量生成等复杂编码任务。
1184 65
|
机器学习/深度学习 人工智能 边缘计算
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
|
设计模式 数据可视化 Java
如何在 IDEA 中设置类路径
在 IntelliJ IDEA 中设置类路径,可以通过项目结构配置或模块设置来添加所需的库和依赖。具体步骤包括打开项目结构对话框、选择模块、添加类路径等。
3257 18
|
NoSQL 安全 关系型数据库
20)用 Redis 实现分布式锁
20)用 Redis 实现分布式锁
892 1
|
开发框架 Java .NET
.net core 非阻塞的异步编程 及 线程调度过程
【11月更文挑战第12天】本文介绍了.NET Core中的非阻塞异步编程,包括其基本概念、实现方式及应用示例。通过`async`和`await`关键字,程序可在等待I/O操作时保持线程不被阻塞,提高性能。文章还详细说明了异步方法的基础示例、线程调度过程、延续任务机制、同步上下文的作用以及如何使用`Task.WhenAll`和`Task.WhenAny`处理多个异步任务的并发执行。
535 1