小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

預(yù)寫式日志(Write-Ahead Logging (WAL))

 風(fēng)自向前 2011-05-05

預(yù)寫式日志(Write-Ahead Logging (WAL))

預(yù)寫式日志 (WAL) 是一種實(shí)現(xiàn)事務(wù)日志的標(biāo)準(zhǔn)方法。有關(guān)它的詳細(xì)描述可以在大多數(shù)(如果不是全部的話)有關(guān)事務(wù)處理的書中找到。 簡(jiǎn)而言之,WAL 的中心思想是對(duì)數(shù)據(jù)文件的修改(它們是表和索引的載體)必須是只能發(fā)生在這些修改已經(jīng)記錄了日志之后, 也就是說(shuō),在描述這些變化的日志記錄沖刷到永久存儲(chǔ)器之后。 如果我們遵循這個(gè)過程,那么我們就不需要在每次事務(wù)提交的時(shí)候都把數(shù)據(jù)頁(yè)沖刷到磁盤,因?yàn)槲覀冎涝诔霈F(xiàn)崩潰的情況下, 我們可以用日志來(lái)恢復(fù)數(shù)據(jù)庫(kù):任何尚未附加到數(shù)據(jù)頁(yè)的記錄都將先從日志記錄中重做(這叫向前滾動(dòng)恢復(fù),也叫做 REDO)。

WAL 的好處

使用 WAL 的第一個(gè)主要的好處就是顯著地減少了磁盤寫的次數(shù)。 因?yàn)樵谌罩咎峤坏臅r(shí)候只有日志文件需要沖刷到磁盤;而不是事務(wù)修改的所有數(shù)據(jù)文件。 在多用戶環(huán)境里,許多事務(wù)的提交可以用日志文件的一次 fsync() 來(lái)完成。而且,日志文件是順序?qū)懙模?因此同步日志的開銷要遠(yuǎn)比同步數(shù)據(jù)頁(yè)的開銷要小。 這一點(diǎn)對(duì)于許多小事務(wù)修改數(shù)據(jù)存儲(chǔ)的許多不同的位置更是如此。

另外一個(gè)好處就是數(shù)據(jù)頁(yè)的完整性。實(shí)際情況是,在 WAL 之前,PostgreSQL 從來(lái)不能保證在崩潰的情況下數(shù)據(jù)頁(yè)的完整性。 在 WAL 之前,在寫的過程中的任何崩潰都可能導(dǎo)致:

 

 

  1. 索引記錄指向一個(gè)不存在的表的行

  2. 索引記錄在分裂操作中丟失

  3. 完全崩潰了的表和索引頁(yè)的內(nèi)容,因?yàn)閿?shù)據(jù)頁(yè)只寫了一部分

索引的問題(問題 1 和 2)可能已經(jīng)通過額外的 fsync 調(diào)用修補(bǔ)好了,但是如果沒有 WAL,那么沒有很明顯的處理第三種情況的方法; WAL 在日志里保存整個(gè)數(shù)據(jù)頁(yè)的內(nèi)容 -- 如果那些內(nèi)容在崩潰后的恢復(fù)中需要確保數(shù)據(jù)頁(yè)的完整性的話。

最后,WAL 還提供了數(shù)據(jù)庫(kù)在線備份和恢復(fù)(backup and restore (BAR))的可能, 就像 Section 22.3 里描述的那樣。 通過歸檔的 WAL 文件,我們可以支持恢復(fù)到手頭的 WAL 文件包含的任意時(shí)刻: 我們只需要簡(jiǎn)單地安裝以前的數(shù)據(jù)庫(kù)的物理備份,然后重放 WAL 到自己希望的時(shí)間。 另外,物理備份還不必是數(shù)據(jù)庫(kù)狀態(tài)的一個(gè)即時(shí)快照 — 如果它是花了一段時(shí)間制作的話, 因?yàn)?WAL 日志的重放將修復(fù)任何內(nèi)部的不一致。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多