3分钟学会mysql数据库的逻辑架构原理

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 这篇文章主要是从mysql数据库的逻辑架构来认识掌握mysql的原理。只要是稍微有一点计算机的相关知识相信都能看明白。

一、笼统的逻辑架构


先给出一张逻辑架构图,这张图是让你从宏观的角度来分析认识一下。

v2-ee8babc1d4b1f94b3f5d4705418ba071_1440w.jpg从这张图你可以获取到如下的信息:


(1)mysql架构大致上可以划分为四层。

(2)第一层,主要是不同客户端的连接。

(3)第二层,主要是处理客户端的连接。

(4)第三层,处理客户端的sql语句。

(5)第四层,存储引擎真实的执行sql语句。


现在你已经了解了mysql的整体架构,而且也大致明白了每一层是干嘛的,现在我们把目光逐渐细化,毕竟上面这张图还是太笼统。


二、细化的逻辑架构图


看下面这张图。

v2-044841d86673fdf7db91883ea5bc931c_1440w.jpg

这张图相比较前面那张图就细化了一部分,从上到下还是分为了四层,


第一层:在这里我们可以看出,连接的客户端有很多,PHP、python、jdbc等等都有。


第二层:这一层是链接层,对应于第一张图的连接处理层,主要是处理客户端的连接,这是因为客户端很多种类很多。


第三层:这一层是服务层。主要是处理客户端请求的sql语句,如何处理呢?大致流程就是,先查询缓存,如果缓存有,那就直接拿出来返回。如果没有那就解析器解析,然后优化器优化,各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等。


第四层:这一层是引擎层,在这里我们可以看到有好几种不同的存储引擎,比如InnoDB,MyISAM,memory等等。真正负责MySQL中数据的存储和提取。


假如说我们使用jdbc执行一条插入的sql语句,整个流程是如何执行的呢?


首先,jdbc属于第一层,通过第二层的连接处理连接到mysql服务器,接下来,通过解析器对sql语句进行解析,然后再通过优化器对sql语句进行优化,最终调用第四层的存储引擎的接口,执行插入语句,将数据插入到文件或者是其他文件系统上。


是不是很简单。通常在学习mysql的时候,老师都会介绍到存储引擎。那时候可能你还没有注意到他的重要性,现在相信你应该体会到了。也就是说服务层的那些功能,都是由存储引擎提供的。不同的存储引擎提供的可能是不一样的。如何去比较这些存储引擎呢?我们列了一些指标去对比一下:

v2-b8d7a753382494ab3017cc68f9f1019d_1440w.jpg

对于mysql数据库来说,默认的就是InnoDB,它不能支持哈希索引还有全文索引。因此如果有一天你不喜欢它了也可以去更换,语句就是SET default_storage_engine=< 存储引擎名 >。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 搜索推荐 数据挖掘
ElasticSearch架构介绍及原理解析
ElasticSearch架构介绍及原理解析
106 0
|
1月前
|
SQL NoSQL 前端开发
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
|
1月前
|
存储 运维 负载均衡
MFS详解(二)——MFS原理和架构
MFS详解(二)——MFS原理和架构
34 0
|
2月前
|
架构师 安全 Java
资深架构师带你解析Synchronize关键字原理
众所周知 Synchronize 关键字是解决并发问题常用解决方案,有以下三种使用方式:
28 0
|
1月前
|
存储 缓存 运维
ISCSI详解(三)——ISCSI原理和架构
ISCSI详解(三)——ISCSI原理和架构
52 2
|
28天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
32 0
|
3天前
|
存储 SQL 数据库
数据库库表结构设计:原理、实例与最佳实践
数据库库表结构设计:原理、实例与最佳实践
18 0
|
28天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
51 0
|
28天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
78 0
|
1月前
|
存储 SQL 关系型数据库
[MySQL]事务原理之redo log,undo log
[MySQL]事务原理之redo log,undo log