這篇文章主要講解了“什么是checkpoint技術(shù)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“什么是checkpoint技術(shù)”吧!
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括武強(qiáng)網(wǎng)站建設(shè)、武強(qiáng)網(wǎng)站制作、武強(qiáng)網(wǎng)頁(yè)制作以及武強(qiáng)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武強(qiáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武強(qiáng)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
MySQL中,一條DML語(yǔ)句,如delete或者update,改變了頁(yè)中的記錄,那么此時(shí)頁(yè)是臟的,即緩沖池的頁(yè)的版本比磁盤的新,數(shù)據(jù)庫(kù)需要將緩沖池的數(shù)據(jù)刷新到磁盤。
如果每次緩沖池的頁(yè)發(fā)生變化,都要將新版本的頁(yè)刷新到磁盤,那么性能消耗一定很大,如果將臟頁(yè)刷新到磁盤的過(guò)程中發(fā)生宕機(jī),那么數(shù)據(jù)就不能恢復(fù)了。為了避免發(fā)生數(shù)據(jù)丟失的問(wèn)題,事務(wù)數(shù)據(jù)庫(kù)系統(tǒng)都采用了Write Ahead Log的策略,即日志先行,先寫重做日志,再修改頁(yè)。
假設(shè)以下場(chǎng)景,是不是緩沖池的臟頁(yè)可以不刷回磁盤?
1、緩沖池足夠大,可以緩沖磁盤的所有數(shù)據(jù)
2、重做日志可以無(wú)限增大
對(duì)于第一個(gè)場(chǎng)景:
生產(chǎn)環(huán)境中,3TB體量的數(shù)據(jù)庫(kù)已不少見(jiàn),甚至更大,而3TB內(nèi)存的服務(wù)器卻幾乎沒(méi)有,所以這種場(chǎng)景幾乎不可能。
對(duì)于第二個(gè)場(chǎng)景:
重做日志無(wú)限增大,意味著DBA或者SA需要實(shí)時(shí)監(jiān)控存儲(chǔ)的使用情況,且設(shè)備可以無(wú)限動(dòng)態(tài)擴(kuò)展,這種場(chǎng)景也幾乎不可能實(shí)現(xiàn)。
即便上述場(chǎng)景可以實(shí)現(xiàn),可是一旦MySQL服務(wù)器宕機(jī),重新應(yīng)用重做日志的時(shí)間會(huì)非常久,甚至達(dá)到幾年。
因此出現(xiàn)了checkpoint技術(shù),主要解決以下問(wèn)題:
1、縮短數(shù)據(jù)庫(kù)的恢復(fù)時(shí)間
2、緩沖池不夠用時(shí),將臟頁(yè)刷新到磁盤
3、重做日志不可用時(shí),刷新臟頁(yè)
在innodb內(nèi)部,有兩種checkpoint,分別為:
Sharp Checkpoint
Fuzzy Checkpoint
sharp checkpoint即數(shù)據(jù)庫(kù)發(fā)生關(guān)閉時(shí)候,將臟頁(yè)刷新到磁盤,這是默認(rèn)的工作方式,即innodb_fast_shutdown=1。
若數(shù)據(jù)庫(kù)運(yùn)行時(shí)候采用sharp checkpoint,那么數(shù)據(jù)庫(kù)的可用性將受到很大影響。數(shù)據(jù)庫(kù)運(yùn)行時(shí)候采用fuzzy checkpoint刷新臟頁(yè),即只刷新部分臟頁(yè),而不是所有臟頁(yè)到磁盤。
innodb可能發(fā)生以下幾種情況的sharp checkpoint:
Master Thread Checkpoint
FLUSH_LRU_LIST Checkpoint
Asnc/Sync Flush Checkpoint
Dirty Page too much Checkpoint
Master Thread Checkpoint
新版本將刷臟獨(dú)立為page cleaner thread,每秒或者每十秒將臟頁(yè)刷新到磁盤。
FLUSH_LRU_LIST Checkpoint
LRU列表沒(méi)有足夠空閑頁(yè)時(shí)候,刷臟。
FLUSH_LRU_LIST Checkpoint
重做日志不可用的時(shí)候,進(jìn)行刷臟。
Dirty Page too much Checkpoint
緩沖池臟頁(yè)太多時(shí)候,自動(dòng)刷臟,由參數(shù)innodb_max_dirty_pages_pct控制,其值為75時(shí),表示緩沖池臟頁(yè)占據(jù)75%時(shí)候,將強(qiáng)制checkpoint,刷新一部分臟頁(yè)到磁盤。
感謝各位的閱讀,以上就是“什么是checkpoint技術(shù)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)什么是checkpoint技術(shù)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
新聞標(biāo)題:什么是checkpoint技術(shù)
本文鏈接:http://www.rwnh.cn/article0/jispio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站收錄、ChatGPT、商城網(wǎng)站、App開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)