高性能 MySQL(一):逻辑架构

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云解析DNS,个人版 1个月
简介: 本篇文章主要描述了 MySQL 的服务器架构,以及对每一层服务进行简短的概述。我们可以使用一张图来表示 MySQL 的逻辑架构,这便于我们的理解与记忆。

大家好,我是水滴~~

本篇文章主要描述了 MySQL 的服务器架构,以及对每一层服务进行简短的概述。我们可以使用一张图来表示 MySQL 的逻辑架构,这便于我们的理解与记忆。

image.png

第一层:连接服务

第一层的服务,并不是 MySQL 独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构,比如:连接处理、授权认证、安全等。

当客户端(应用)在连接服务器时,服务器都需要对其进行认证。认证是基于用户名、原始主机和密码的,也支持 SSL 方式连接。连接成功后,服务器会继续验证该客户端是否具有执行某个操作的权限。

每个客户端的连接都会在服务器中拥有一个线程,这个连接的所有后续操作都只会在这个单独的线程中执行。服务器也会缓存线程,这样就不必为每一个新建的连接创建或销毁线程了。在 MySQL 5.5 或者更高的版本中,提供了一个支持线程池的插件,可以使用池中的少量线程来服务大量的连接。

image.png

第二层:核心服务

第二层提供了 MySQL 的核心服务,包括查询解析、分析、优化、缓存以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现,包括存储过程、触发器、视图等。

MySQL 会对客户端的查询进行解析,并创建内存数据结构(解析树),然后对其进行各种优化。用户可以执行explain命令来请求优化器,使用户知道服务器是如何进行优化决策的,并提供一个参考的基准,便用用户重构查询,来提高效率。

对于select语句,在解析查询之前,服务器会先检查查询缓存,如果能够在其中找到对应查询,服务器会直接返回查询缓存中的结果集。

第三层:存储引擎

第三层是存储引擎,负责 MySQL 中数据的存储和提取。

每个存储引擎都有它的优势和劣势,服务器通过 API 与存储引擎进行通信。并且这些接口屏蔽了不同存储引擎之间的差异,使得上层查询服务的查询过程都是相同的。不同的存储引擎之间不会相互通信,只是简单的为上层提供服务。

image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
8天前
|
存储 关系型数据库 MySQL
架构面试题汇总:mysql索引汇总(2024版)
架构面试题汇总:mysql索引汇总(2024版)
|
11天前
|
SQL 关系型数据库 MySQL
MySQL高可用架构设计:从主从复制到分布式集群
MySQL高可用性涉及主从复制、半同步复制和Group/InnoDB Cluster。主从复制通过二进制日志同步数据,保证故障时可切换。半同步复制确保事务在至少一个从服务器确认后才提交。Group Replication是多主复制,支持自动故障切换。InnoDB Cluster是8.0的集成解决方案,简化集群管理。使用这些技术能提升数据库的稳定性和可靠性。
202 2
|
22天前
|
存储 算法 关系型数据库
【MySQL技术内幕】2.3-InnoDB体系架构
【MySQL技术内幕】2.3-InnoDB体系架构
19 1
|
8天前
|
存储 关系型数据库 MySQL
架构面试题汇总:40道题吃透mysql(2024版)
架构面试题汇总:40道题吃透mysql(2024版)
|
21天前
|
存储 关系型数据库 MySQL
【MySQL技术内幕】4.2-InnoDB逻辑存储结构
【MySQL技术内幕】4.2-InnoDB逻辑存储结构
18 0
|
1天前
|
消息中间件 NoSQL Java
使用Java构建可扩展的微服务架构
使用Java构建可扩展的微服务架构
|
1天前
|
负载均衡 安全 前端开发
深入理解微服务架构中的API网关
【7月更文挑战第4天】本文旨在探讨微服务架构中的关键组件——API网关,分析其作用、设计原则及实现方式。通过对比不同场景下的应用实例,揭示API网关在微服务生态系统中的重要性和实现细节。
8 2
|
1天前
|
监控 Java 持续交付
使用Java构建企业级微服务架构的策略与挑战
使用Java构建企业级微服务架构的策略与挑战
|
1天前
|
负载均衡 Apache 开发者
微服务架构中的服务发现与注册机制
【7月更文挑战第4天】在微服务架构的复杂网络中,服务发现与注册是确保各独立服务高效、可靠通信的关键。本文将探讨服务发现与注册的重要性、实现方式及其在现代分布式系统中的应用实践,旨在为后端开发者提供深入理解和实践指南。