1.MySQL 的C/S模型工作结构
Client:
自带命令
第三方工具
API
Server :
TCP/IP
Unix Socket
2.MySQL的实例结构
MySQL
实例: mysqld
进程 + Master thread
+ worker thread
(IO\SQL\Purge...)+ 预分配内存结构
3.mysqld 核心程序工作原理
server 层 ----> Linux OS
- 连接器
- SQL层
engine层 ----> 文件系统
- SQL查询流程
4.MySQL逻辑结构
MySQL
逻辑结构和Linux
对比
MySQL Linux
库 目录
表 文件
Linux 中一切皆文件。Linux中一切皆命令。
MySQL 中一切皆表。一切皆SQL。
MySQL
逻辑对象的特点
库 : 库名 + 库属性
表 : 列(字段:列名,列属性) + 行(记录)+ 表属性
5.MySQL物理结构
-
宏观
-
库
-
表
-
-
微观
扇区、OS block、PAGE、extents 设计理念,都是为了能够
程序 -----> OS -----> HDISK 从逻辑操作,到物理操作都能够保证尽可能“连续”IO。
段 : segments , 一个表就是一个段,由1-N个区构成。
区 : extents, 又被称之为“簇”,由64个连续的PAGE构成。默认大小1M。
页 : PAGE,MySQL 最小IO单元,默认大小 16KB,连续的4个OS block。
OS block : 文件系统块,默认是4KB,连续的8个扇区。
扇区 : 默认512字节,连续的512字节长度的磁盘区域。