MySQL基础架构

摘要 :

通过把 MySQL 拆解一下,看看里面都有哪些“零件”,借由这个拆解过程,对 MySQL 有更深入的理解。这样当我们碰到 MySQL 的一些异常或者问题时,就能够直戳本质,更为快速地定位并解决问题。

MySQL基础架构示意图:能看到SQL 语句在 MySQL 的各个功能模块中的执行过程

MySQL可以分为Service层和存储引擎层两部分。

Server 层包括连接器、查询缓存、分析器、优化器、执行器,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB

MySQL日志系统

重要的日志模块:redo log

作用:确保事务的持久性。
防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特.

InnoDB 使用 Redo Log 来保证数据的一致性和可持久性,它采用 WAL 机制,即先写日志再写数据。具体来说,InnoDB 进行写操作时,先将数据操作记录在 log buffer 中,然后将 log buffer 中的数据刷到磁盘 log file 中,后续数据再落到数据 ibd 文件这一步骤由 checkpoint 来保证


  转载请注明: Hi 高虎 MySQL基础架构

 上一篇
数据库索引 数据库索引
概念索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本 500 页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。
2021-04-27
下一篇 
编程珠玑 编程珠玑
计算机编程充满乐趣。有时候,它是一门优雅的科学,有时候,它要去开发和使用新的软件工具。编程与人息息相关:客户实际想解决什么问题? 解题模板双指针解题模板我们通过迭代数组来解决一些问题。通常,我们只需要一个指针进行迭代,即从数组中的第一
  目录