innodb存储引擎探究(一)

本文详细介绍了MySQL的体系结构,包括存储引擎的选择与区别,C/S架构的连接方式,特别是InnoDB的工作原理,如MasterThread、LRU缓存和RedoLogBuffer管理。还探讨了InnoDB的关键特性,如InsertBuffer和DeleteBuffer,以及文件结构和恢复过程。
摘要由CSDN通过智能技术生成

mysql 体系结构和存储引擎

数据库:物理操作系统文件或者其他形式的文件

实例:mysql数据库由一个共享内存区和后台进程组成

启动mysql实例时,会读取配置文件,安装以下顺序

mysql体系结构

mysql插件式的一个存储引擎可以根据业务需求来更换更加适合的存储引擎

需要注意的是存储引擎是基于表的,而不是数据库的 

各种存储引擎的区别可以在网上或者书籍中查到资料这里就不在一 一对比了

如何连接mysql

mysql采用的是c/s架构,也就是说我们在client端输入命令,要通过一些方式连接到server端

不同主机的话,tcp/ip连接比较常见, 如果是本机的话,可以用命名管道,和共享内存,unix套接字

等进程间通信方式

innodb线程和Master Threaed工作方式

innodb线程有

master thread,IOthread, Purge thread, page cleaner page

缓冲区

怎么对这些页进行管理呢,我们有LRU,但是这个lru是升级版的,free_list, flush_list

redo log buffer

默认能存放1s内事务日志即可

何时刷新

额外内存池

就是为数据结构本身分配内存,如果不够的话,要向缓冲池拿

checkpoint技术

 

Master thread工作伪代码

innodb_io_capcity可以人为调整,然后这下的页数就根据这个值来定

 

innodb关键特性

insertbuffer 

1.insertBuffer针对不唯一的辅助索引,物理和逻辑上的割裂做的一个优化 。就是对该索引的插入不是每一次都插入到索引页中,而是先放到insert buffer页中,然后在合适的情况下与辅助索引的子节点做merge,大大提高了性能(因为不唯一,所以我们不要再原来的索引里查找)

innodb1.0.x开始了changbuffer

有了insert buffer。 delete buffer(), purgebuffer

insertbuffer实现

合并

 

双写

 自适应哈希

异步io 

刷临接页 

 innodb恢复

innodb文件

20分钟讲解mysql文件_哔哩哔哩_bilibili

innodb的表

TODO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值