存储计算分离架构概述
PolarDB-PG 是存储计算分离的设计,存储集群和计算集群可以分别独立扩展:
1、当计算能力不够时,可以单独扩展计算集群。
2、当存储容量不够时,可以单独扩展存储集群。
基于 Shared-Storage 后,主节点和多个只读节点共享一份存储数据,主节点刷脏不能再像传统的刷脏方式了,否则:
1、只读节点去存储中读取的页面,可能是比较老的版本,不符合他自己的状态。
2、只读节点指读取到的页面比自身内存中想要的数据要超前。
3、主节点切换到只读节点时,只读节点接管数据更新时,存储中的页面可能是旧的,需要读取日志重新对脏页的恢复。
对于第一个问题,我们需要有页面多版本能力;对于第二个问题,我们需要主库控制脏页的刷脏速度。