存儲計算分離架構概述
PolarDB-PG 是存儲計算分離的設計,存儲集群和計算集群可以分別獨立擴展:
1、當計算能力不夠時,可以單獨擴展計算集群。
2、當存儲容量不夠時,可以單獨擴展存儲集群。
基于 Shared-Storage 后,主節點和多個只讀節點共享一份存儲數據,主節點刷臟不能再像傳統的刷臟方式了,否則:
1、只讀節點去存儲中讀取的頁面,可能是比較老的版本,不符合他自己的狀態。
2、只讀節點指讀取到的頁面比自身內存中想要的數據要超前。
3、主節點切換到只讀節點時,只讀節點接管數據更新時,存儲中的頁面可能是舊的,需要讀取日志重新對臟頁的恢復。
對于第一個問題,我們需要有頁面多版本能力;對于第二個問題,我們需要主庫控制臟頁的刷臟速度。