作为一名软件研发者,MySQL几乎是经常都要接触到的一种数据库,我们可以用它来进行对数据的增删改查,但是你知道基于MySQL的逻辑架构是怎样的吗?小编接下来会从几个方面来介绍MySQL逻辑架构。

1.MySQL逻辑架构的思维导图

如图所示:

数据库的的基本架构 数据库架构设计图_MySQL

2.小编前言

①MySQL并不是尽善尽美,但是足够的灵活,能够适应高要求的环境,比如Web应用。

②MySQL在众多平台上都能运行良好,并且支持多种数据类型,但是不支持对象类型(Mongodb支持)。

③MySQL的存储引擎可以基于表的建立,以满足对数据存储、性能、特征及其他特性的各种需要。

3.MySQL架构逻辑视图

每个虚线框为一层,总共三层。如图所示:

数据库的的基本架构 数据库架构设计图_服务器_02

①第一层是服务层(为客户端服务):为请求做连接处理、授权认证、安全等。

②第二层是核心层:查询解析、分析、优化、缓存,并且提供内建函数:存储过程,触发器,视图。

③第三层是存储引擎层:不光可以做存储和提取数据,而且针对特殊数据引擎还要做事务处理。

4.连接管理与安全性(即第一层服务层)

①处理流程,如图所示:

数据库的的基本架构 数据库架构设计图_mysql 逻辑架构图_03

a.每一个连接的查询都可以在一个进程中的线程完成;

b.服务器负责缓存线程,所以服务层并不需要为每个连接新建线程。

②认证流程,如图所示:

数据库的的基本架构 数据库架构设计图_服务器_04

5.MySQL优化与执行

如图所示:

数据库的的基本架构 数据库架构设计图_数据库的的基本架构_05

①在解析查询之前,服务器会“询问”是否进行了查询缓存(只能缓存SELECT语句和相应结果)。缓存过的直接返回结果,未缓存的就需要进行解析查询、优化、重新执行返回结果。

②解析查询时会创建一个内部数据结构(树),然后对其进行各种的优化。

③优化,就是重写查询,决定查询的读表顺序,选择需使用的索引。