91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

西乡县| 韶山市| 福鼎市| 株洲市| 安义县| 沽源县| 镇雄县| 阳新县| 永登县| 嘉善县| 灵石县| 鸡泽县| 仁化县| 邵武市| 湾仔区| 昆明市| 阜平县| 怀集县| 甘谷县| 南涧| 清流县| 道孚县| 武乡县| 武冈市| 南皮县| 鄂托克前旗| 酒泉市| 科技| 阿图什市| 闸北区| 乐安县| 张家港市| 四子王旗| 龙胜| 阆中市| 榕江县| 中牟县| 龙岩市| 襄汾县| 永靖县| 白银市|