MySQL逻辑架构

MySQL逻辑架构

MySQL逻辑架构

1. 最上层的服务不是MySQL独有,大多数基于网络的的客户端/服务器的工具或者服务都有类似的架构。比如:连接处理、授权认证、安全等等。
2. 大多数MySQL核心服务功能都在第二层架构中,包括查询解析、分析、优化、缓存、所有的内置函数,以及所有跨存储引擎的功能如:存储过程、触发器、视图等。
3. 第三层包含了存储引擎(负责MySQL中数据的存储和提取),服务器通过API与存储引擎进行通信,这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。

1.1连接管理与安全性

  1. 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或销毁先线程1

  2. 当客户端(应用)连接到MySQL服务器时,服务器需要对其基于原始主机信息和密码进行认证。如果使用了安全套接字(SSL)2进行连接,还可以使用X.509证书认证。当客户端连接成功,服务器会继续验证该客户端的权限信息。

1.2优化与执行

1. MySQL会解析查询,并创建内部数据结构(解析树),然后对其进行各种优化。另外,存储引擎对于优化查询是有影响的。
2. 解析查询之前,服务器会先检查查询缓存(Query Cache)是否能找到对应的查询,存在就不再执行查询解析、优化和执行的整个过程,而是直接返回查询缓存中的结果集。

  1. MySQL5.5或者更新的版本提供了一个支持线程池插件的API,可以使用池中少量的线程来服务大量的连接。 ↩︎

  2. 安全套接字(Secure Socket Layer, SSL)属于高层安全机制,广泛应用于Web浏览器程序和Web服务器程序,提供对等的身份认证和应用数据的加密。SSL是4个端到端协议,因而是在处于通信通路端点的机器上实现(通常是在客户机和服务器上),而不需要在通信通路的中间节点(如路由器或防火墙)上实现。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值