MySQL

洞悉MySQL底层架构与SQL调优本质
帅旋
关注
充电
IT宅站长,技术博主,架构师,全网id:arthinking。

洞悉MySQL底层架构:游走在缓冲与磁盘之间

发布于 2020-05-30 | 更新于 2024-05-16

提起MySQL,其实网上已经有一大把教程了,为什么我还要写这篇文章呢,大概是因为网上很多网站都是比较零散,而且描述不够直观,不能系统对MySQL相关知识有一个系统的学习,导致不能形成知识体系。为此我撰写了这篇文章,试图让这些底层架构相关知识更加直观易懂:

  • 尽量以图文的方式描述技术原理;
  • 涉及到关键的技术,附加官网或者技术书籍来源,方便大家进一步扩展学习;
  • 涉及到的背景知识尽可能做一个交代,比如讨论到log buffer的刷盘方式,延伸一下IO写磁盘相关知识点。

好了,MySQL从不会到精通系列马上就要开始了(看完之后还是不会的话…请忽略这句话)。

img

可能会有同学问:为啥不直接学更加先进的TiDB,或者是强大的OceanBase。

其实,MySQL作为老牌的应用场景广泛的关系型开源数据库,其底层架构是很值得我们学习的,吸收其设计精华,那么我们在平时的方案设计工作中也可以借鉴,如果项目中用的是MySQL,那么就能够把数据库用的更好了,了解了MySQL底层的执行原理,对于调优工作也是有莫大帮助的。本专栏我重点讲述MySQL底层架构,涉及到:

  • 内存结构buffer poollog bufferchange buffer,buffer pool的页淘汰机制是怎样的;
  • 磁盘结构系统表空间独立表空间通用表空间undo表空间redo log
  • 以及IO相关底层原理、查询SQL执行流程、数据页结构行结构描述、聚集索引辅助索引的底层数据组织方式、MVCC多版本并发控制的底层实现原理,以及可重复读读已提交是怎么通过MVCC实现的。

image-20200530231121252

另外,我们在SQL原理篇中会带您从SQL的执行原理洞悉调优的本质。

本文作者: 帅旋

本文链接: https://www.itzhai.com/columns/mysql/insight-into-the-underlying-architecture-of-mysql-buffer-and-disk.html

版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请加公众号。

×
IT宅

关注公众号及时获取网站内容更新。

请帅旋喝一杯咖啡

咖啡=电量,给帅旋充杯咖啡,他会满电写代码!

IT宅

关注公众号及时获取网站内容更新。