Mysql深入浅出之架构

概述

这里写图片描述
在这里插入图片描述

线程模型

  • Master Thread
    Master Thread是一个非常核心的后台线程,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲(INSERT BUFFER)、UNDO页的回收等。

每秒一次的操作包括:

  • IO Thread
    被存储引擎使用。innodb使用AIO模型(也就是NIO2)。
    这里写图片描述

  • Purge Thread
    事务被提交后用于回收undo页面。

存储引擎

innodb

一、Innodb有两种管理表空间的方法

  • 独立表空间:每一张表都会生成独立的文件来进行存储,每一张表都有一个.frm表描述文件,和一个.ibd文件。其中ibd文件包括了单独一个表的数据内容和索引内容。
  • 共享表空间:某一个数据库的所有表的数据和索引文件都放在一个文件下,默认的文件是.ibdata1文件,初始值是10M,默认是存放在数据文件的根目录下(mysql/var)。

二、两阶段锁定协议

物理存储

  • .frm 与数据库引擎无关,都有这么个与表名同名文件。存储表的结构
  • .myd 即 my data,表数据文件(MyISAM)
  • .myi 即my index,索引文件(MyISAM)
  • ibdata1 即表空间文件。(innodb)
  • .ibd
  • .log 日志文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值