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

简介: 《阿里云认证的解析与实战-关系型数据库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

相关文章
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》
阿里云联合阿里巴巴爱橙科技,共同发布《AI 原生应用架构白皮书》,围绕 AI 原生应用的 DevOps 全生命周期,从架构设计、技术选型、工程实践到运维优化,对概念和重难点进行系统的拆解,并尝试提供一些解题思路。白皮书覆盖 AI 原生应用的 11 大关键要素,获得 15 位业界专家联名推荐,来自 40 多位一线工程师实践心的,全书合计超 20w 字,分为 11 章。
5297 89
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
1189 4
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1673 2
Spring Boot 3.x 微服务架构实战指南
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》!
阿里云联合爱橙科技发布《AI原生应用架构白皮书》,系统解析AI应用在架构设计、开发运维中的关键挑战与解决方案,涵盖大模型、Agent、RAG、安全等11大核心要素,助力企业构建稳定、高效、可控的AI应用体系。
阿里云发布《AI 原生应用架构白皮书》!
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
1264 7

热门文章

最新文章

推荐镜像

更多