mysql的分层以及功能
第一次接触分层思想是在学习网络的时候,OSI7层模型,各层完成自己的任务互相不干扰。
在Mysql中也采用用这种思想,这么做的好处就是规定了各层的功能那个,出现什么问题就去找各层的问题。大大减少了工作量。
那么在Mysql中大概分为四层:
1、链接层 2、服务层 3、存储引擎层 4、存储层
一、链路层
主要功能是提供与客服端的链接服务,包含本地的sock通讯和大多数基于客户端/服务端工具实现的类似TCP/IP的通讯。主要完成一些类似于连接处理、授权认证、以及相关的安全方案。在改层引入了线程池的概率,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全连接、服务器也会为安全接入的每个客户端验证它所具有的操作权限。
二、服务层
提供各种用户使用的接口,如查询语句等
内置了SQL优化器(MySQL Query Optimizer)。 SQL优化器是MySQL服务层自带的一个服务,它会自动优化用户写得不是最优的SQL,使其达到优化的效果。但由于优化器毕竟只是优化器,有时候会将用户自定义的优化方案给更改掉,从而使用户自己的优化方案失效,这一点需要注意(也许你的SQL是这么写的但是实际执行不一定是这么执行的)
三、存储引擎层
主要提供存储引擎,常用的存储引擎有innoDB与MySIAM,一般现在默认是innoDB(区别后面会写到)
四、存储层
数据存储层,主要讲数据存储在运行裸设备的文件系统上,并完成与存储引擎的交互

浙公网安备 33010602011771号