实时:MySQL笔记之Checkpoint机制
CheckPoint是MySQL的WAL和Redolog的一个优化技术。
一、Checkpoint机制CheckPoint做了什么事情?将缓存池中的脏页刷回磁盘。
checkpoint定期将db buffer的内容刷新到data file,当遇到内存不足、db buffer已满等情况时,需要将db buffer中的内容/部分内容(特别是脏数据)转储到data file中。
(资料图)
在转储时,会记录checkpoint发生的位置,在故障回复时候,只需要redo/undo最近的一次checkpoint之后的操作。
二、CheckPoint作用1、缩短数据库的恢复时间当数据库宕机时,数据库不需要重做所有日志,因为CheckPoint之前的页都已经刷新回磁盘。只需对CheckPoint后的重做日志进行恢复,从而缩短恢复时间
2、缓冲池不够用时,将脏页刷新到磁盘当缓存池不够用时,LRU算法会溢出最近最少使用的页,若此页为脏页,会强制执行CheckPoint,将该脏页刷回磁盘
3、Redo日志不可用时,刷新脏页不可用是因为对重做日志的设计是循环使用的。重做日志可以被重用的部分,是指当数据库进行恢复操作时不需要的部分。若此时这部分重做日志还有用,将强制执行CheckPoint,将缓冲池的页至少刷新到当前重做日志的位置
三、CheckPoint种类InnoDB存储引擎内部,有两种Checkpoint,分别为:Sharp Checkpoint、Fuzzy Checkpoint
1、Sharp CheckPoint发生在数据库关闭时,会将所有的脏页刷回磁盘,这是默认的工作方式,即参数innodb_fast_shutdown=1。
但是若数据库在运行时也使用Sharp Checkpoint,那么数据库的可用性就会受到很大的影响。故在InnoDB存储引擎内部使用Fuzzy Checkpoint进行页的刷新,即只刷新一部分脏页,而不是刷新所有的脏页回磁盘。
2、Fuzzy CheckPoint为提高性能,数据库运行时使用Fuzzy CheckPoint进行页的刷新,即只刷新一部分脏页。
Fuzzy Checkpoint(模糊检查点):
Master Thread Checkpoint;FLUSH_LRU_LIST Checkpoint;Async/Sync Flush Checkpoint;Dirty Page too much Checkpoint在Innodb事务日志中,采用了Fuzzy Checkpoint,Innodb每次取最老的modified page(last checkpoint)对应的LSN,再将此脏页的LSN作为Checkpoint点记录到日志文件,意思就是此LSN之前的LSN对应的日志和数据都已经flush到redo log。
三、LSN标记InnoDB引擎通过LSN(Log Sequence Number)来标记版本,LSN是日志空间中每条日志的结束点,用字节偏移量来表示。
1、LSN(Log Sequence Number)LSN是用来标记版本的LSN是8字节的数字每个page有LSN,redo log也有LSN,Checkpoint也有LSN2、Log Sequence Number当mysql crash的时候,Innodb扫描redo log,从last checkpoint开始apply redo log到buffer pool,直到last checkpoint对应的LSN等于Log flushed up to对应的LSN,则恢复完成。
如上图所示,Innodb的一条事务日志共经历4个阶段:
创建阶段:事务创建一条日志日志刷盘:日志写入到磁盘上的日志文件数据刷盘:日志对应的脏页数据写入到磁盘上的数据文件写CKP:日志被当作Checkpoint写入日志文件;对应这4个阶段,系统记录了4个日志相关的信息,用于其它各种处理使用:
Log sequence number(LSN1):当前系统LSN最大值,新的事务日志LSN将在此基础上生成(LSN1+新日志的大小);Log flushed up to(LSN2):当前已经写入日志文件的LSN;Oldest modified data log(LSN3):当前最旧的脏页数据对应的LSN,写Checkpoint的时候直接将此LSN写入到日志文件;Last checkpoint at(LSN4):当前已经写入Checkpoint的LSN;对于系统来说,以上4个LSN是递减的,即: LSN1>=LSN2>=LSN3>=LSN4。
参考资料:
https://lefred.be/content/a-graph-a-day-keeps-the-doctor-away-mysql-checkpoint-age/
关键词:
相关阅读
-
实时:MySQL笔记之Checkpoint机制
CheckPoint是MySQL的WAL和Redolog的一个优化技术。一、Checkpoint机... -
环球今亮点!上开下火怎么读音_上开下火...
1、基本字义●氼nìㄋㄧˋ ◎古同“溺”。2、沉没;沉溺。本文就为... -
百度澄清:文心一言无任何官方APP,已向...
4月7日,百度在线网络技术(北京)有限公司通过“百度AI”微信公众号... -
爱夜欢约会视频在线观看_爱夜欢约会视频...
1、很好的,只要你去玩过一次之后,以后就天天想去了,我以前也去过... -
国家能源集团与法国电力集团签署扩展合...
据国家能源集团官网消息,4月6日下午,在中国国家主席习近平和法国... -
“研学旅行趣富阳”,富阳要打造成为华...
4月7日下午,在“中国营地之乡”洞桥镇举行的2023富阳研学旅行和营...
精彩放送
-
实时:MySQL笔记之Checkpoint机制
CheckPoint是MySQL的WAL和Redolog的一个优化技术。一、Checkpoint机... -
环球今亮点!上开下火怎么读音_上开下火...
1、基本字义●氼nìㄋㄧˋ ◎古同“溺”。2、沉没;沉溺。本文就为... -
百度澄清:文心一言无任何官方APP,已向...
4月7日,百度在线网络技术(北京)有限公司通过“百度AI”微信公众号... -
爱夜欢约会视频在线观看_爱夜欢约会视频...
1、很好的,只要你去玩过一次之后,以后就天天想去了,我以前也去过... -
国家能源集团与法国电力集团签署扩展合...
据国家能源集团官网消息,4月6日下午,在中国国家主席习近平和法国... -
“研学旅行趣富阳”,富阳要打造成为华...
4月7日下午,在“中国营地之乡”洞桥镇举行的2023富阳研学旅行和营... -
天天热点!他不信命,但相信体育的力量
新华社沈阳4月7日电题:他不信命,但相信体育的力量新华社记者张逸... -
国家移民管理机构12367服务平台累计接处...
每经AI快讯,2023年4月8日,国家移民管理机构12367服务平台上线运行... -
穆迪:美联储有理由对非农报告持乐观态...
穆迪:美联储有理由对非农报告持乐观态度;穆迪分析公司经济学家Dan... -
快看,超美“樱花夜”!大学路景观灯光...
夜幕之下,春色依旧!杨浦大学路超美景观灯光粉色夜樱主题应季...