MySQL数据库架构

文章详细介绍了MySQL的四层架构:网络连接层负责客户端连接;核心服务层包括SQL接口、解析器、查询优化器等;存储引擎如InnoDB和MyISAM各有特点;物理文件层是数据库的基础,存储数据和日志文件。
摘要由CSDN通过智能技术生成

MySql数据库架构

在这里插入图片描述
在这里插入图片描述

网络连接层:提供与mysql服务器建立连接的支持,负责连接管理、授权认证、安全等。
核心服务层:主要包含系统管理和控制工具、连接池、SQL接口、解析器、查询优化器和查询缓存六个部分。
存储引擎层:负责Mysql中数据的存储与提取,与底层系统文件进行交互。
文件系统层:负责将数据库的数据和日志存储在文件系统之上,并完成与存储引擎的交互,是文件的物理存储层。

一、网络连接层

当客户端尝试与MySQL建立连接时,MySQL就会派发一个线程来对接这个客户端,来负责处理这个客户端接下来的所有工作。
数据库连接层的工作就是负责所有客户端的连接工作。MySQL的连接一般都是基于TCP/IP协议的连接。

二、SQL层(核心服务层)

功能:主要包含系统管理和控制工具、连接池、SQL接口、解析器、查询优化器和查询缓存六个部分。
在这里插入图片描述
管理服务和工具组件:从备份和恢复的安全性、复制、集群、管理、配置、迁移和元数据等方面对数据库进行管理。
连接池:负责存储管理客户端与数据库的连接、一个线程负责管理一个连接。
SQL接口:用户SQL命令的接口;进行DML、DDL语句、存储过程、视图、触发器等操作和管理。
解析器:对词汇语义、语法、SQL权限的检测、以及对代码的解析与验证。
在这里插入图片描述
查询优化器:对SQL语句查询进行优化、选取。SQL查询语句中有多种执行方式,优化器会对查询代码进行最优化的选取方式来进行查询。
缓存和缓冲区:主要分为了读取缓存与写入缓冲,读取缓存主要是指select语句的数据缓存,当然也会包含一些权限缓存、引擎缓存等信息。MySQL会对经常查询的语句保存在cache中,这样在下次查询时,能够直接使用。

三、存储引擎

在这里插入图片描述
InnoDB:支持事务,并且提供行级的锁定。
MyISAM:查询速度快,有较好的索引优化和数据压缩技术。缺点就是不支持事务。
在这里插入图片描述

Memory:适合存储临时数据。HEAP存储引擎,数据保存在内存中。支持HASH索引和BTree索引。不支持支持Blog和Text等大字段。
Archive:适合存储历史数据。以zilb压缩表数据。

四、物理文件层

在这里插入图片描述
文件系统层是MySQL的基础,是基于物理磁盘的一个文件系统。支持NTFS、UFS、ext2/3、NFS、NAS等文件类型。该文件系统包含了数据文件、日志文件、配置文件、索引文件等各类MySQL运行时所需要的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值