分享更有价值
被信任是一种快乐

什么是checkpoint技术

文章页正文上

这篇文章主要讲解了“什么是checkpoint技术”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是checkpoint技术”吧! MySQL中,一条DML语句,如delete或者update,改变了页中的记录,那么此时页是脏的,即缓冲池的页的版本比磁盘的新,数据库需要将缓冲池的数据刷新到磁盘。 如果每次缓冲池的页发生变化,都要将新版本的页刷新到磁盘,那么性能消耗一定很大,如果将脏页刷新到磁盘的过程中发生宕机,那么数据就不能恢复了。为了避免发生数据丢失的问题,事务数据库系统都采用了Write Ahead Log的策略,即日志先行,先写重做日志,再修改页。假设以下场景,是不是缓冲池的脏页可以不刷回磁盘?1、缓冲池足够大,可以缓冲磁盘的所有数据2、重做日志可以无限增大对于第一个场景:
生产环境中,3TB体量的数据库已不少见,甚至更大,而3TB内存的服务器却几乎没有,所以这种场景几乎不可能。对于第二个场景:重做日志无限增大,意味着DBA或者SA需要实时监控存储的使用情况,且设备可以无限动态扩展,这种场景也几乎不可能实现。即便上述场景可以实现,可是一旦MySQL服务器宕机,重新应用重做日志的时间会非常久,甚至达到几年。因此出现了checkpoint技术,主要解决以下问题免费主机域名:1、缩短数据库的恢复时间2、缓冲池不够用时,将脏页刷新到磁盘3、重做日志不可用时,刷新脏页在innodb内部,有两种checkpoint,分别为:Sharp CheckpointFuzzy Checkpointsharp checkpoint即数据库发生关闭时候,将脏页刷新到磁盘,这是默认的工作方式,即innodb_fast_shutdown=1。若数据库运行时候采用sharp checkpoint,那么数据库的可用性将受到很大影响。数据库运行时候采用fuzzy checkpoint刷新脏页,即只刷新部分脏页,而不是所有脏页到磁盘。innodb可能发生以下几种情况的sharp checkpoint:Master Thread CheckpointFLUSH_LRU_LIST CheckpointAsnc/Sync Flush CheckpointDirty Page too much CheckpointMaster Thread C免费主机域名heckpoint新版本将刷脏独立为page cleaner thread,每秒或者每十秒将脏页刷新到磁盘。FLUSH_LRU_LIST CheckpointLRU列表没有足够空闲页时候,刷脏。FLUSH_LRU_LIST Checkpoint重做日志不可用的时候,进行刷脏。Dirty Page too much Checkpoint缓冲池脏页太多时候,自动刷脏,由参数innodb_max_dirty_pages_pct控制,其值为75时,表示缓冲池脏页占据75%时候,将强制checkpoint,刷新一部分脏页到磁盘。感谢各位的阅读,以上就是“什么是checkpoint技术”的内容了,经过本文的学习后,相信大家对什么是checkpoint技术这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: MySQL常见的错误代码说明

本篇内容介绍了“MySQL常见的错误代码说明”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 1005:创建表失败 1006:创建失败 1007:数据库已存在,创…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册