PostgreSQL码农集散地

为什么通常扩容需要停机?

文章开始前推荐2个学习环境: 

1、欢迎使用镜像快速体验PostgreSQL/DuckDB强大功能:《最好的PostgreSQL学习镜像》

2、欢迎使用云起实验室: 《免费体验PolarDB开源数据库》

3、PolarDB开源数据库内核、应用等学习图谱:  https://www.aliyun.com/database/openpolardb/activity 

为什么通常扩容需要停机?

https://www.bilibili.com/video/BV1Bm4y1Q7ZD/

通常我们说的扩容: 计算、存储、其他硬件(网卡、内存、CPU等).

PostgreSQL社区版本:

  • 非本地(网络存储)存储, 例如NAS(带文件系统的)扩容取决于远端是否支持在线扩容.

  • 还有一种远端的块设备(例如SAN、分布式块存储)也能在线扩容, 本地还依赖自动发现块设备的新增或者块设备的大小变化, 文件系统是否支持在线扩容, 例如ext4, xfs可以通过resize2fs或xfs_growfs调整. - 如果使用了lvm则需要先扩vg再扩lv.

  • 其他本地硬件扩容都需要停机或主备割接(先升级备再升级主).

PolarDB:

  • 计算存储分离架构. 支持在线扩存储. 业务0感知. 不需要切换RO RW.

本期问题1:
请问PolarDB PG扩什么对业务完全无感?

  • a. 存储

  • b. 网卡带宽

  • c. CPU

  • d. 主机

答案:

  • a

解释:

  • PolarDB采用计算存储分离架构, 存储通常使用分布式块存储、商业SAN、polarstore等. 扩容存储不需要停实例, 不需要切换RO RW角色. 在存储和PFS层完成.

  • CPU、主机、网卡扩容需要割接RO RW主机, 逐步升级, 割接时间通常秒级.

Image

https://www.wjx.cn/

欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.  

近期正在写公开课材料, 未来将通过视频号推出, 欢迎关注视频号:

Image

文章中的参考文档请点击阅读原文获得.