了解InnoDB的Checkpoint技术

.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overflow-x:hidden;color:#333}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{line-height:1.5;margin-top:35px;margin-bottom:10px;padding-bottom:5px}.markdown-body h1{font-size:30px;margin-bottom:5px}.markdown-body h2{padding-bottom:12px;font-size:24px;border-bottom:1px solid #ececec}.markdown-body h3{font-size:18px;padding-bottom:0}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:15px}.markdown-body h6{margin-top:5px}.markdown-body p{line-height:inherit;margin-top:22px;margin-bottom:22px}.markdown-body img{max-width:100%}.markdown-body hr{border:none;border-top:1px solid #ddd;margin-top:32px;margin-bottom:32px}.markdown-body code{word-break:break-word;border-radius:2px;overflow-x:auto;background-color:#fff5f5;color:#ff502c;font-size:.87em;padding:.065em .4em}.markdown-body code,.markdown-body pre{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{overflow:auto;position:relative;line-height:1.75}.markdown-body pre>code{font-size:12px;padding:15px 12px;margin:0;word-break:normal;display:block;overflow-x:auto;color:#333;background:#f8f8f8}.markdown-body a{text-decoration:none;color:#0269c8;border-bottom:1px solid #d1e9ff}.markdown-body a:active,.markdown-body a:hover{color:#275b8c}.markdown-body table{display:inline-block!important;font-size:12px;width:auto;max-width:100%;overflow:auto;border:1px solid #f6f6f6}.markdown-body thead{background:#f6f6f6;color:#000;text-align:left}.markdown-body tr:nth-child(2n){background-color:#fcfcfc}.markdown-body td,.markdown-body th{padding:12px 7px;line-height:24px}.markdown-body td{min-width:120px}.markdown-body blockquote{color:#666;padding:1px 23px;margin:22px 0;border-left:4px solid #cbcbcb;background-color:#f8f8f8}.markdown-body blockquote:after{display:block;content:””}.markdown-body blockquote>p{margin:10px 0}.markdown-body ol,.markdown-body ul{padding-left:28px}.markdown-body ol li,.markdown-body ul li{margin-bottom:0;list-style:inherit}.markdown-body ol li .task-list-item,.markdown-body ul li .task-list-item{list-style:none}.markdown-body ol li .task-list-item ol,.markdown-body ol li .task-list-item ul,.markdown-body ul li .task-list-item ol,.markdown-body ul li .task-list-item ul{margin-top:0}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:3px}.markdown-body ol li{padding-left:6px}@media (max-width:720px){.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px}.markdown-body h3{font-size:18px}}

mysql教程栏目带大家了解InnoDB的Checkpoint技术。

了解InnoDB的Checkpoint技术

一句话概括,Checkpoint技术就是将缓存池中脏页在某个时间点刷回到磁盘的操作

遇到的问题 ?

图片名称

都知道缓冲池的出现就是为了解决CPU与磁盘速度之间的鸿沟,免得我们在读写数据库时还需要进行磁盘IO操作。有了缓冲池后,所有的页操作首先都是在缓冲池内完成的。

如一个DML语句,进行数据update或delete 操作时,此时改变了缓冲池页中的记录,此时因为缓冲池页的数据比磁盘的新,此时的页就叫做脏页。

不管怎样,总会后的内存页数据需要刷回到磁盘里,这里就涉及几个问题:

若每次一个页发生变化,就将新页的版本刷新到磁盘,那么这个开销是非常大的若热点数据集中在某几个页中,那么数据库的性能将变得非常差如果在从缓冲池将页的新版本刷新到磁盘时发生了宕机,那么数据就不能恢复了

Write Ahead Log(预写式日志)

WAL策略解决了刷新页数据到磁盘时发生宕机而导致数据丢失的问题,它是关系数据库系统中用于提供原子性和持久性(ACID 属性中的两个)的一系列技术。

WAL策略核心点就是

redo log,每当有事务提交时,先写入 redo log(重做日志),在修改缓冲池数据页,这样当发生掉电之类的情况时系统可以在重启后继续操作

WAL策略机制原理

InnoDB为了保证数据不丢失,维护了redo log。在缓冲池的数据页修改之前,需要先将修改的内容记录到redo log中,并保证redo log早于对应的数据页落盘,这就是WAL策略。

当故障发生而导致内存数据丢失后,InnoDB会在重启时,通过重放redo log,将缓冲池数据页恢复到崩溃前的状态。

Checkpoint

按理说有了WAL策略,我们就可以高枕无忧了。但其问题点又出现在redo log上面:

redo log 不可能是无限大的,不能没完没了的存储我们的数据等待一起刷新到磁盘在数据库怠机恢复时,如果redo log 太大的话恢复的代价也是非常大的

所以为了解决脏页的刷新性能,脏页应该在什么时间、什么情况下进行脏页的刷新就用到了Checkpoint技术。

Checkpoint 的目的

1、缩短数据库的恢复时间

当数据库怠机恢复时,不需要重做所有的日志信息。因为Checkpoint前的数据页已经刷回到磁盘了。只需要Checkpoint后的redo log进行恢复就好了。

2、缓冲池不够用时,将脏页刷新到磁盘

当缓冲池空间不足时,根据LRU算法会溢出最近最少使用的页,若此页为脏页,那么需要强制执行Checkpoint,将脏页也就是页的新版本刷回磁盘。

3、redo log不可用时,刷新脏页

图片名称

如图redo log 的不可用是因为当前数据库对其设计都是循环使用的,所以其空间并不是无限大。

当redo log被写满, 因为此时系统不能接受更新, 所有更新语句都会被堵住。

此时必须强制产生Checkpoint需要将 write pos 向前推进,推进范围内的脏页都需要刷新到磁盘

Checkpoint 的种类

Checkpoint发生的时间、条件及脏页的选择等都非常复杂。

Checkpoint 每次刷新多少脏页到磁盘?

Checkpoint每次从哪里取脏页?

Checkpoint 什么时间被触发?

百度AI开放平台 百度AI开放平台

百度提供的综合性AI技术服务平台,汇集了多种AI能力和解决方案

百度AI开放平台 42 查看详情 百度AI开放平台

面对上面的问题,InnoDB存储引擎内部为我们提供了两种Checkpoint:

Sharp Checkpoint

发生在数据库关闭时将所有的脏页都刷新回磁盘,这是默认的工作方式,参数innodb_fast_shutdown=1

Fuzzy Checkpoint

InnoDB存储引擎内部使用这种模式,只刷新一部分脏页,而不是刷新所有的脏页回磁盘

FuzzyCheckpoint发生的情况

Master Thread Checkpoint

差不多以每秒或每十秒的速度从缓冲池的脏页列表中刷新一定比例的页回磁盘。

这个过程是异步的,即此时InnoDB存储引擎可以进行其他的操作,用户查询线程不会阻塞

FLUSH_LRU_LIST Checkpoint

因为LRU列表要保证一定数量的空闲页可被使用,所以如果不够会从尾部移除页,如果移除的页有脏页,就会进行此Checkpoint。

5.6版本后,这个Checkpoint放在了一个单独的Page Cleaner线程中进行,并且用户可以通过参数innodb_lru_scan_depth控制LRU列表中可用页的数量,该值默认为1024

Async/Sync Flush Checkpoint

指的是redo log文件不可用的情况,这时需要强制将一些页刷新回磁盘,而此时脏页是从脏页列表中选取的

5.6版本后不会阻塞用户查询

Dirty Page too much Checkpoint即脏页的数量太多,导致InnoDB存储引擎强制进行Checkpoint。

其目的总的来说还是为了保证缓冲池中有足够可用的页。

其可由参数innodb_max_dirty_pages_pct控制,比如该值为75,表示当缓冲池中脏页占据75%时,强制进行CheckPoint

总结

因为CPU和磁盘间的鸿沟的问题,从而出现缓冲池数据页来加快数据库DML操作

因为缓冲池数据页与磁盘数据一致性的问题,从而出现WAL策略(核心就是redo log)

因为缓冲池脏页的刷新性能问题,从而出现Checkpoint技术

InnoDB 为了提高执行效率,并不会每次DML操作都和磁盘交互进行持久化。而是通过Write Ahead Log 先策略写入redo log保证事物的持久化。

对于事物中修改的缓冲池脏页,会通过异步的方式刷盘,而内存空闲页和redo log的可用是通过Checkpoint技术来保证的。

更多相关免费学习推荐:mysql教程(视频)

以上就是了解InnoDB的Checkpoint技术的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1030326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 03:10:52
下一篇 2025年12月2日 03:11:23

相关推荐

  • 币圈热词速览:掌握加密世界的“黑话”

    在充满活力与变数的加密货币世界,一套独特的行话、俚语乃至“黑话”应运而生,它们构成了币圈文化不可或缺的一部分。对于初入此领域的投资者而言,掌握这些词汇如同拥有了一把解读加密世界深层逻辑的钥匙。它们不仅是沟通的工具,更是理解市场情绪、技术趋势以及社群动态的关键。想象一下,当你的朋友们热烈讨论着“梭 哈…

    好文分享 2025年12月9日
    000
  • Meteora(MET)币是什么?如何运作?Meteora项目概述,代币经济与未来前景分析

    目录 什么是 Meteora(MET)Meteora 如何运作:核心机制解析MET币是什么Meteora 的应用场景与生态布局Meteora 的竞争优势MET 代币的主要风险与挑战Meteora 的未来展望常见问题 最近,solana 生态圈热度不断,而讨论的焦点之一就是 meteora(met) …

    2025年12月9日 好文分享
    000
  • 一文介绍2025年第四季度投资者最值得购买的5种热门代币

    核心摘要 Bittensor、SKYAI、Falcon Finance、BNB 与比特币展现出显著的技术动能、机构背书及增长前景,成为当前投资者重点关注的加密资产。人工智能与去中心化金融(DeFi)等高波动性领域正引领此轮市场回暖,而币安生态的技术革新和市场主导地位进一步增强了短期与长期投资的信心。…

    2025年12月9日 好文分享
    000
  • 币安将对受崩盘影响的用户进行补偿,如何注册登录?

    Binance币安 欧易OKX ️ Huobi火币️ 需要了解的内容 Binance 将逐一审查账户,以确定对受 wBETH、BNSOL 和 USDe 崩盘影响的用户的赔偿。随着币安基础设施的崩溃,包装代币价格暴跌,使得做市商更难稳定价格。Binance 宣布将采用转换率定价来对包装资产进行定价。 …

    2025年12月9日 好文分享
    000
  • 喜报:比特币(BTC)将涨至100万美元?Gemini的Winklevoss兄弟为何称其为“黄金2.0”

    Binance币安 欧易OKX ️ Huobi火币️ Winklevoss兄弟对比特币100万美元的大胆预测激发了加密货币投资者和全球市场的热情,进一步巩固了比特币“黄金2.0”的地位。 关键要点 比特币从2011年的1美元上涨到2013年的1000美元,确立了其作为全球资产的地位。卡梅伦和泰勒·温…

    2025年12月9日
    000
  • Enso(ENSO)币是什么?运作方式、代币经济学介绍

    enso 是一个区块链开发框架和共享执行网络,它通过可重复使用的构建块(称为“操作”和“快捷方式”)简化了链上应用进程的构建、启动和运行。该平台由 connor howe 于 2021 年创立,已从 polychain capital、multicoin capital 和 the spartan …

    2025年12月9日
    000
  • 虚拟货币不再“虚拟”:探索其现实应用

    当今世界,科技的飞速发展正不断重塑我们的生活和经济格局。其中,虚拟货币以其独特的魅力和潜力,逐渐从边缘地带走向主流视野。人们常将其与“虚拟”的概念紧密联系,但如今,虚拟货币早已不再是纯粹的数字代码或投机工具,它正以惊人的速度渗透到我们生活的方方面面,展现出强大的现实应用价值。从跨境支付到供应链金融,…

    好文分享 2025年12月9日
    000
  • 山寨币通常在山寨季前大幅下跌,一文详细了解历史会重演吗?

    Binance币安 欧易OKX ️ Huobi火币️ 加密市场分析人士发现历史性走势规律,暗示在山寨币迎来大幅上涨前往往会出现剧烈的市场回调,这一信号预示着新一轮山寨币行情或将到来。 据观察,上周末因大规模杠杆头寸被清算,整个加密市场瞬间蒸发数十亿美元市值,而这一极端波动反而可能为“山寨币季3.0”…

    2025年12月9日
    000
  • Moonchain(MCH)币是什么?MCH价格预测2025-2030

    Binance币安 欧易OKX ️ Huobi火币️ 目前没有可靠信息表明存在一种名为“Moonchain(MCH)”的主流加密货币。在公开的金融和区块链数据平台中,无法查到与该名称及代号MCH相对应的、具有市场影响力的数字资产。这可能意味着它是一种非常小众、新推出或未被广泛认可的代币,甚至可能是虚…

    2025年12月9日
    000
  • Matchain (MAT) 是什么币?MAT未来展望及价格预测

    Binance币安 欧易OKX ️ Huobi火币️ Matchain(MAT)是一种结合区块链与人工智能技术的去中心化数字身份平台代币。它的核心目标是让用户真正拥有并控制自己的个人数据,而不仅仅作为登录工具。通过其独特的MatchID系统,用户可以将多个Web2账户(如X、Telegram、Dis…

    2025年12月9日
    000
  • 2025年还有哪些即将发币的大项目?一文盘点2025年内即将发币的大项目

    Binance币安 欧易OKX ️ Huobi火币️ 2025年已经进入尾声,不少备受期待的区块链项目正陆续准备代币生成事件(TGE)或已开启空投。这些项目覆盖Layer1、Layer2、AI、RWA等多个热门赛道,市场关注度极高。以下是近期明确有动作或已公布发币时间表的重点项目盘点。 Meteor…

    2025年12月9日
    000
  • 一文了解BNB价格较历史高点下跌12%:牛市行情是否终结?

    Binance币安 欧易OKX ️ Huobi火币️ 技术指标显示RSI超买并形成看跌形态,预示BNB在开启新一轮上涨前或将迎来短期回调,潜在下行支撑区间位于800至1,000美元。 核心要点概览: 短期来看,BNB或面临回调压力,但长期趋势依旧保持强劲。牛市旗形结构仍在延续,潜在上行目标有望突破2…

    2025年12月9日 好文分享
    000
  • ChainOpera AI (COAI) 币是什么?COAI代币经济学、未来前景及价格预测

    Binance币安 欧易OKX ️ Huobi火币️ ChainOpera AI(COAI)于2025年10月9日在Bitget等主流交易所上线USDT计价(U标)永续期货交易,引起市场关注。 ChainOpera AI(COAI)是一个运行在BNB链上的去中心化AI代理网络,COAI是其原生代币。…

    2025年12月9日
    000
  • 比特币实用主义:比特币的信息移动价值

    如果你认为科技发展遵循着既定的轨迹,那也情有可原。在过去的几十年里,我们见证了个人电脑、互联网、移动设备的兴​​起,现在又迎来了比特币的出现。 Binance币安 欧易OKX ️ Huobi火币️ 比特币是最好的资产,这一点已经得到公认。这只需要基本的金融知识。如果你能看懂图表,证据就显而易见了。 …

    2025年12月9日 好文分享
    000
  • ZEC币逆势上涨 37%,隐私赛道还有哪些项目值得关注?一文介绍

    本文分析讲述了在 10.11 合约最大清算日后,隐私赛道的强劲反弹势头,特别是 $zec 在不到半个月内接近 400% 的惊人涨幅,并剖析了这一赛道在监管重压下的反弹驱动力、历史进程,以及当前的主要投资机会和风险。 Binance币安 欧易OKX ️ Huobi火币️ 2025 年 10 月 11 …

    2025年12月9日 好文分享
    000
  • 以太坊ETH价格预测:2030 年以太坊的价值将何去何从?一文分析

    在全球加密货币市场总市值再度突破 4 万亿美元的背景下,以太坊(ethereum, eth)正重新站在技术与金融革新的前沿。从早期的智能合约平台,到如今承载数千个去中心化应用(dapps)、去中心化金融(defi)与 nft 生态的底层基石,eth 的长期价值已经超越了“数字资产”的范畴,成为区块链…

    2025年12月9日
    000
  • 币圈新手入门指南:从零开始认识数字世界

    数字货币,一个在过去十年间迅速崛起并深刻改变全球金融格局的新兴领域,正吸引着无数目光。对于许多人来说,它既充满了无限可能,又显得神秘莫测。如果你是初次接触这个概念,可能会感到一头雾水,不清楚比特币、以太坊到底是什么,区块链技术又如何在幕后运作,更不知道从何入手才能安全有效地参与其中。本篇“币圈新手入…

    好文分享 2025年12月9日
    000
  • 2025年币圈深度解析:机遇与挑战并存

    币圈交易平台推荐: 欧易OKX: Binance币安: 火币Huobi: Gateio芝麻开门: 2025年,数字货币世界将迎来一个充满变数与机遇的时代。告别了过去几年的波动与沉寂,新的科技浪潮、监管框架以及宏观经济走势正在共同塑造一个前所未有的市场格局。对于那些希望在数字资产领域有所作为的投资者、…

    好文分享 2025年12月9日
    000
  • 稳定币是什么?如何运作?稳定币未来趋势分析及投资策略详解

    Binance币安 欧易OKX ️ Huobi火币️ 稳定币是一种价格相对稳定的加密货币,它的核心目标是“锚定”某种资产的价值,最常见的是像美元或欧元这样的法定货币。它解决了普通加密货币(如比特币)价格剧烈波动的问题,让用户能在数字世界里持有价值稳定的资产。 稳定币是怎么运作的? 不同的稳定币通过不…

    2025年12月9日
    000
  • 在加密货币中什么是稳定的?一文介绍波动市场中的稳定性

    Binance币安 欧易OKX ️ Huobi火币️ 在加密货币这个以剧烈波动著称的市场里,“稳定”指的是一种能抵抗价格起伏的特性,主要通过一类特殊的数字资产——稳定币来实现。它们的核心目标是提供一个价值锚点,让用户可以在不离开区块链生态的情况下,持有接近法币(如美元)的稳定价值。 稳定币:连接传统…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信