登录
首页 >  数据库 >  MySQL

MySQL:Buffer Pool、Redo log、Undo log、Binlog笔记

来源:SegmentFault

时间:2023-01-19 16:58:49 328浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习数据库相关编程知识。下面本篇文章就来带大家聊聊《MySQL:Buffer Pool、Redo log、Undo log、Binlog笔记》,介绍一下MySQL、binlog,希望对大家的知识积累有所帮助,助力实战开发!

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日志进行实现。

今天带大家了解了MySQL、binlog的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表