中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL DBA(20) - WAL full-page-write淺析

發布時間:2020-08-07 12:19:28 來源:ITPUB博客 閱讀:172 作者:husthxd 欄目:關系型數據庫
PostgreSQL DBA(20) - WAL full-page-write淺析
full-page-write

在T1,數據庫成功執行checkpoint;
在T2,執行DML語句,這時候相關的數據會寫入到WAL中(此處忽略了WAL buffer);
在T3,提交該事務;
在T4,bgwriter把dirty pages寫入到Data file中,但在寫入過程中機器出現故障導致Crash(如掉電等),出現了部分寫的情況。
為了應對這種情況,PG在T2寫入WAL的時候,會把出現變化的page整頁寫入到WAL中,而不僅僅是tuple data。在數據庫重啟執行恢復的時候,在Redo point開始回放WAL時,如發現XLOG Record是FPI(full-page-image),則整頁替換,通過這種機制解決了部分寫的問題。

二、full-page-write的代價

當然這種機制不是免費的,其主要的負面影響是寫放大。
由于整頁寫,不可避免的出現冗余數據;考慮這么一種情況:如果數據庫很繁忙,而且數據的熱點分散在不同的table上,同時checkpoint執行間隔較短,那非常多的page就會通過full-page-write寫入的WAL中,導致日志空間快速膨脹。在極端情況下,page“滿載”(基本沒有空閑空間)的情況下更新其中一條記錄都會導致整頁寫入WAL。
關于這部分的機制和解決方案,參考資料中的《如何遏制PostgreSQL WAL的瘋狂增長》有詳細論述。

三、參考資料

Write Ahead Logging — WAL
如何遏制PostgreSQL WAL的瘋狂增長
PostgreSQL 可靠性分析 - 關于redo block原子寫

向AI問一下細節
推薦閱讀:
  1. DBA換新電腦后必裝哪些工具?
  2. DBA_TAB_STATISTICS視圖

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

猜你喜歡

AI

桐梓县| 固安县| 扬州市| 灵宝市| 八宿县| 黄梅县| 盐亭县| 商水县| 琼中| 蒙城县| 临猗县| 双柏县| 达拉特旗| 招远市| 巴中市| 东乡| 东阳市| 昭平县| 汕头市| 定襄县| 将乐县| 龙海市| 东至县| 凤台县| 鄂尔多斯市| 南开区| 兴义市| 新宁县| 翁牛特旗| 综艺| 京山县| 延寿县| 宁海县| 青海省| 安阳县| 延庆县| 万年县| 香格里拉县| 汝阳县| 西吉县| 卢龙县|