MySQL 体系结构概述
MySQL 体系结构:
从上至下总共四层:
- 网络连接层
- 服务层
- 存储引擎层
- 系统文件层
网络连接层
几乎所有C/S数据库都是通过JDBC,ODBC等方式来访问数据库,所以此处不进行赘述。
服务层
上图的服务层简化版本位下图:
我们可以很清楚的看到MySQL的核心服务就在这一层: 查询解析,查询优化,查询缓存。以及与存储引擎无关的特性
存储引擎层
MySQL最大的特点:插件式存储引擎,即提供多种存储引擎供用户选择.
常用的MySQL存储引擎:
Q: 如何选择存储引擎呢?
A: 大部分情况下推荐选择InnoDB引擎。(别问,问就是InnoDB)
系统文件层
该层主要是将数据库的数据存储在文件系统之上,并完成与存储引擎的交互。
比如:著名的MySQL的默认存储引擎------ InnoDB就是通过.frm文件, . MYD文件, .MYI文件三个文件来存储一个表的数据.
.frm文件:与表相关的元数据信息都存放在frm文件,包括表结构的定义信息等。
.ibd文件:存放innodb表的数据文件。(详情可以去参卡片InnoDB的存储方式.)