关系型数据库-MySQL:体系结构

一、CS模型


tcp/ip
socket

二、实例构成


实例 =  mysqld + 预分配的内存
     = mysqld + Mseter Thread + N个工作线程 + 预分配的内存结构 
		  老板         经理           员工          办公区

三、mysqld 的结构


在这里插入图片描述

范例讲解: 一条SQL语句的执行过程
命令:select user,host from mysql.user;

step1:连接层

  1. 提供连接协议
    tcpip
    socket
  2. 提供验证功能
    用户 密码 IP合不合法
  3. 提供专用的连接线程
    接收SQL
    返回结果

step2:SQL层

  1. 验证语法
  2. 语义检查:检查是什么类型的语句(DDL、DCL、DML、DQL)
  3. 权限检查:检查登录用户是否具备执行某些语句的权限
  4. 解析器: 将SQL语句解析成多种执行计划(预处理)
  5. 优化器: 根据解析器解析出的执行计划的“代价”评估,选择代价最小的
    代价: 系统资源的消耗(CPU,MEM,IO)
  6. 执行器: 根据选择后的执行计划,运行SQL语句,得出执行结果.
    执行结果?
    你需要的数据,在磁盘的xxxx位置上。
  7. 查询缓存
  8. 日志记录(二进制)

step3:存储引擎层(文件系统)

拿着执行器的结果,去磁盘找到相应的数据。结构化成用户能看懂的格式(表)

四、mysql 数据库的逻辑结构


  • 库 : database / schema
  • 表 : tables
    列(字段): 列名,列的定义(数据类型,约束等)
    行: 记录

五、mysql 对象的物理存储结构


库 ----> 目录
表 ----> 两个文件

例如:t1表

-rw-r----- 1 mysql mysql  8556 Mar 30 11:58 t1.frm
-rw-r----- 1 mysql mysql 98304 Mar 30 11:58 t1.ibd

t1.frm -----> 存储列的定义信息
t1.ibd -----> 存储数据行,索引

六、段、区、页


idb文件又被称之为一个表段;区,就是连续的多个页;一个段会有多个区构成;页(16kb)是最小的分配单元。

形象对比:

mysql磁盘
分区
文件系统
block
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值