乐趣区

关于mysql:MySQLBuffer-PoolRedo-logUndo-logBinlog笔记

MySQL 是计算机程序罕用的开源数据库管理系统,MySQL 技能始终是面试中高频率命中考题,上面一起简略复盘下 MySQL 基础知识:
MySQL 是个反对插拔式的数据库治理系统软件,从存储引擎到解析器都能够被替换,上面以 Innodb 存储引擎为例进行剖析。
MySQL 对内存的治理以页为单位(16k)从磁盘读取到内存的 Buffer Pool 中,当查问数据时命中数据连同数据搭档一起读到 Buffer Pool 中,当写数据时,会写到 Buffer Pool 中和 Redo log 中,Redo log 是顺序存储,存储引擎是随机存储,Redo log 被当作数据恢复日志应用,用来记录数据库宕机、失落后数据恢复为主(先预写日志 Redo Buffer,再进行刷盘操作),因而 Redo log 能保证数据的不失落。
Undo log 是撑持事务回滚操作的文件系统,当批改数据并且进行刷盘后,回复刷盘前的数据靠 Undo log 进行记录复原。
Binlog 和 Redo log 有着相似之处,记录批改后的数据,Binlog 侧重于逻辑日志,记录对数据内存页地位进行批改,属于 Server 层,Redo log 偏重理论的写数据,属于存储引擎层。MySQL 的集群高可用次要靠 Binlog 日志进行实现。

退出移动版