《阿里云认证的解析与实战-关系型数据库ACP认证》——RDS关系型数据库的解析与实践(上)—— 二、 RDS的架构原理

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
全局流量管理 GTM,标准版 1个月
简介: 《阿里云认证的解析与实战-关系型数据库ACP认证》——RDS关系型数据库的解析与实践(上)—— 二、 RDS的架构原理

1. RDS架构解析

 

1) RDS整体访问架构

 

image.png

 

正常情况下,业务部署在ECS上,通过URL访问会解析到负载均衡SLB上转发到主实例;如果主实例出现故障,可以切换到备实例

如果开通数据库代理,会到主实例中来。数据库代理有读写分离的地址,ECS换了URL,用此URL到负载均衡SLB,再到数据库代理,判断读写流量的去向

备份以及日志备份,存在OSS中。基于备份一键生成一个新的RDS实例时,数据恢复的过程就是备份,基于备份生成新实例。

 

2) RDS底层系统架构

 image.png

 

用户访问,解析DNS到防火墙,转发到客户端。

控制实例有:HA控制系统、备份系统、在线迁移系统、任务调度系统、监控系统等。

当创建/删除实例时,先到任务调度系统,触发是做迁移还是备份,最后发送到指定的cluster中,再进行下一步相关的操作。

 

3) RDS主从切换原理

 

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

 image.png

 

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

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

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

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

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

 

2. RDS核心技术解析

 

1) RDS自研内核 - AliSQL简介

 

AliSQL是阿里云深度定制的独立MySQL分支,除了社区版的所有功能外,AliSQL提供了类似于MySQL企业版的诸多功能,如企业级备份恢复、线程池等;

RDSMySQL使用AliSQL内核,为用户提供了MySQL所有的功能,同时提供了企业级的安全、备份、恢复、监控、性能优化、只读实例等高级特性;

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

 

image.png 

2) AliSQL增强Feature介绍

 

功能增强类

ThreadPool

StatementOutline

SequenceEngine

Returning

Lizard事务系统

 

性能增强类

FastQueryCache

BinloginRedo

StatementQueue

InventoryHint

 

稳定性增强类

FasterDDL

Statement(oncurrencyControl)

PerformanceAgent

Rurge,LargeFileAsynchronously

PerformanceInsight

 

安全增强类

RecycleBin

 

AliSQL详细信息请参考

https://help.aliyun.com/document.detail/129925.html

 

a) 示例:ThreadPool

 

Multi-queuethreadpool

限制线程数量,避免过多线程调度和大量缓存失效;

区分语句和事务的优先级,控制并发数量,从而减少资源竞争;

给予管理类SQL语句更高的优先级,保证这些语句优先执行;

给予复杂查询SQL语句较低的优先级,并且限制其最大并发数

 

参数配置

thread_poolenabled:是否开启线程池功能,默认开启,ON|OFF;

thread_pool_size:线程池内分组的数量,默认值4;

thread_pooloversubscribe:每个分组中允许的活跃线程数量,默认值32

 

image.png

 

b) 示例:StatementQueue

 

将冲突的SQL语句放在同一个队列(桶)中排队,减少冲突导致的开销;

支持两种Hint

/*+ccl_queue_value([int|string])*/

根据输入的值的hash进行分桶

/*+ccl_queue_field(column)*/

根据指定column值的hash进行分桶

 

参数设置

ccl_queue_bucket_count:桶的数量

ccl_queue_bucket_size:一个桶内允许的并发数

 

image.png

 

c) 示例:RecycleBin

 

回收机制

DROP/TRUNCATETABLE的表对象移到RecycleBin目录(新库"_recycle_bin_");

表相关的trigger以及foreignKey会被删除;

表的附属属性(ColumnStatistics)会进入RecycleBin

 

回收站清理

无法直接使用DROPTABLE清理回收站中的数据;

可通过DBMS_RECYCLE.purge_table()清理;

清理时需要用户具有原表和回收站表的DROP权限

 

Master-Slave独立回收

回收站功能的开启及保留周期都是实例级别,主备之间不会通过binlog进行同步

 

image.png

相关文章
|
17天前
|
关系型数据库 OLAP API
非“典型”向量数据库AnalyticDB PostgreSQL及RAG服务实践
本文介绍了非“典型”向量数据库AnalyticDB PostgreSQL及其RAG(检索增强生成)服务的实践应用。 AnalyticDB PostgreSQL不仅具备强大的数据分析能力,还支持向量查询、全文检索和结构化查询的融合,帮助企业高效构建和管理知识库。
62 19
|
11天前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
41 11
|
13天前
|
运维 关系型数据库 分布式数据库
阿里云PolarDB:引领云原生数据库创新发展
阿里云PolarDB引领云原生数据库创新,2024云栖大会将分享其最新发展及在游戏行业的应用。PolarDB凭借弹性、高可用性、多写技术等优势,支持全球80多个站点,服务1万多家企业。特别是针对游戏行业,PolarDB助力Funplus等公司实现高效运维、成本优化和业务扩展。通过云原生能力,PolarDB推动游戏业务的全球化部署与快速响应,提升用户体验并保障数据安全。未来,PolarDB将继续探索AI、多云管理等前沿技术,为用户提供更智能的数据基础设施。
|
1月前
|
存储 人工智能 数据管理
|
21天前
|
关系型数据库 分布式数据库 数据库
1月17日|阿里云云谷园区,PolarDB V2.0技术沙龙,畅聊国产数据库
为了助力国产化项目顺利推进,阿里云邀请企业开发者和数据库负责人到云谷园区,与PolarDB V2.0技术专家面对面交流。扫描海报二维码报名,我们将根据信息为您申请入园。欢迎参与,共同探讨PolarDB的最新技术和应用!
|
24天前
|
运维 关系型数据库 MySQL
体验领礼啦!体验自建数据库迁移到阿里云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」上线!本方案介绍如何将自建数据库平滑迁移至云数据库RDS,解决业务增长带来的运维难题。通过使用RDS MySQL,您可获得稳定、可靠和安全的企业级数据库服务,专注于核心业务发展。完成任务即可领取桌面置物架,每个工作日限量50个,先到先得。
|
28天前
|
存储 人工智能 数据管理
媒体声音|专访阿里云数据库周文超博士:AI就绪的智能数据平台设计思路
在生成式AI的浪潮中,数据的重要性日益凸显。大模型在实际业务场景的落地过程中,必须有海量数据的支撑:经过训练、推理和分析等一系列复杂的数据处理过程,才能最终产生业务价值。事实上,大模型本身就是数据处理后的产物,以数据驱动的决策与创新需要通过更智能的平台解决数据多模处理、实时分析等问题,这正是以阿里云为代表的企业推动 “Data+AI”融合战略的核心动因。
|
1月前
|
弹性计算 安全 关系型数据库
活动实践 | 自建数据库迁移到云数据库
通过阿里云RDS,用户可获得稳定、安全的企业级数据库服务,无需担心数据库管理与维护。该方案使用RDS确保数据库的可靠性、可用性和安全性,结合ECS和DTS服务,实现自建数据库平滑迁移到云端,支持WordPress等应用的快速部署与运行。通过一键部署模板,用户能迅速搭建ECS和RDS实例,完成数据迁移及应用上线,显著提升业务灵活性和效率。

推荐镜像

更多