mysql逻辑组_mysql逻辑架构

逻辑架构图

MySQL有点与众不同,它的逻辑架构可以在多种不同的场景中应用并发挥良好的作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离。这种架构可以根据业务需求和实际需要选择合适的存储引擎。

b3b15ee1e476d254e2c30bdd3f80e27e.png

1、连接层

最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

2、服务层

2.1 Management Serveices & Utilities: 系统管理和控制工具

2.2 SQL Interface: SQL接口

接受用户的SQL命令,并且返回用户需要查询的结果。比如select 就是调用SQL Interface,但是会先到Caches中查找是否有缓存,没有才调用此接口。

2.3 Parser:解析器

SQL命令传递到解析器的时候会被解析器验证和解析。

2.4 Optimizer:查询优化器

在SQl查询语句执行之前,优化器会优化SQL,它的原则是保持查询结果不变。

2.5Cache和Buffer:查询缓存

在执行查询SQL时,查询语句直接去查询缓存中查看是否有缓存,有则直接取数据返回。

3、引擎层

真正负责MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信。不同的存储引擎功能不一样,例如MyISAM和InnoDB.

4、存储层

数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互。

裸设备(raw device),也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊块设备文件。由应用程序负责对它进行读写操作。不经过文件系统的缓冲。它是不被操作系统直接管理的设备。这种设备少了操作系统这一层,I/O效率更高。不少数据库都能通过使用裸设备作为存储介质来提高I/O效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 8.0 的逻辑架构图如下: ``` +---------------------------------------------------+ | Client | +---------------------------------------------------+ | | v +---------------------------------------------------+ | SQL Interface | +---------------------------------------------------+ | | v +---------------------------------------------------+ | Parser | +---------------------------------------------------+ | | v +---------------------------------------------------+ | Optimizer & Query Planner | +---------------------------------------------------+ | | v +---------------------------------------------------+ | Execution Engine | +---------------------------------------------------+ | | v +---------------------------------------------------+ | Storage Engine | +---------------------------------------------------+ ``` 这是一个简化的逻辑架构图,展示了 MySQL 8.0 中的不同件和其间的关系。以下是各个件的功能说明: - Client:客户端,与数据库进行交互的用户应用程序。 - SQL Interface:SQL 接口,负责解析客户端发来的 SQL 语句。 - Parser:解析器,将 SQL 语句解析为内部数据结构。 - Optimizer & Query Planner:优化器和查询规划器,对查询进行优化,并生成执行计划。 - Execution Engine:执行引擎,根据执行计划执行 SQL 查询。 - Storage Engine:存储引擎,负责数据的存储和检索。 这些件共同协作,完成客户端发出的 SQL 查询的处理过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值