随笔分类 - 存储组件
摘要:主从同步 主从同步的过程如下图所示,核心就是,当从库连接上主库之后,主库为为这个从库创建一个dump线程,用于传输binlog。从库有一个IO线程来接收binlog并写入它的中转日志relay log,同时有一个SQL线程读取relay log进行执行。主从同步保证的是数据的最终一致性。主从同步的方
阅读全文
摘要:WAL机制 Write-Ahead Logging,预写日志系统即当有数据更新请求的时候,先写日志,再改内存,等“有空”的时候再落磁盘(刷脏页)。WAL机制的好处,因为写日志是磁盘顺序IO,而直接写磁盘是随机IO,性能较差。 binlog MySQL server层自己的归档日志叫做binlog (
阅读全文
摘要:事务 第一个前提:事务是存储引擎层面支持的,InnoDB支持事务,MyISAM不支持事务。本文都是指的InnoDB。 第二个前提 :MySQL默认设置autocommit = on,即任何语句若没有显示地开启事务,都被当做一个独立的事务进行执行 —— Even a select statement
阅读全文
摘要:# 存储 ## 数据页 计算机中的磁盘存储数据的最小单元是扇区,一个扇区512字节。文件系统最小单元是块,一个块4K。InnoDB最小单元是页(也就是我们说的数据页),一个页是16K。如下图:  缓存,分析器(Parser,做词法分析语法分析),优化器(Optimizer 重写sql语句,执行计划生成,选择索引),执行器(做DDL, DML等) 存储引擎层 所有和索引相关的,其实是依赖不同的插件式存储引擎,
阅读全文
摘要:MySQL知识图谱 根据上图DB-Engines Ranking可以看到,在今天,关系型数据库仍然在存储组件中有着举足轻重的地位。 在梳理MySQL学习笔记的时候,会遇到一些名词,在此作一个字典,也可帮助回忆相关内容: 架构 客户端,连接器,分析器,优化器,存储引擎 存储 & 索引 数据页,缓存池(
阅读全文